ultralytics 8.0.237__tar.gz → 8.0.239__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.0.237 → ultralytics-8.0.239}/PKG-INFO +5 -4
- {ultralytics-8.0.237 → ultralytics-8.0.239}/README.md +3 -3
- {ultralytics-8.0.237 → ultralytics-8.0.239}/pyproject.toml +6 -5
- {ultralytics-8.0.237 → ultralytics-8.0.239}/tests/test_cli.py +4 -2
- {ultralytics-8.0.237 → ultralytics-8.0.239}/tests/test_explorer.py +11 -6
- {ultralytics-8.0.237 → ultralytics-8.0.239}/tests/test_python.py +3 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/__init__.py +2 -2
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/__init__.py +241 -138
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/DOTAv1.5.yaml +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/DOTAv1.yaml +1 -1
- ultralytics-8.0.239/ultralytics/cfg/datasets/dota8.yaml +34 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/__init__.py +9 -2
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/annotator.py +4 -4
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/augment.py +186 -169
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/base.py +54 -48
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/build.py +34 -23
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/converter.py +242 -70
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/dataset.py +117 -95
- ultralytics-8.0.239/ultralytics/data/explorer/__init__.py +5 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/explorer/explorer.py +170 -97
- ultralytics-8.0.239/ultralytics/data/explorer/gui/dash.py +248 -0
- ultralytics-8.0.239/ultralytics/data/explorer/utils.py +166 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/loaders.py +75 -62
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/split_dota.py +44 -36
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/data/utils.py +160 -142
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/exporter.py +348 -292
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/model.py +102 -66
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/predictor.py +74 -55
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/results.py +63 -40
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/trainer.py +192 -144
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/tuner.py +66 -59
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/engine/validator.py +31 -26
- ultralytics-8.0.239/ultralytics/hub/__init__.py +123 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/hub/auth.py +28 -25
- ultralytics-8.0.239/ultralytics/hub/session.py +340 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/hub/utils.py +64 -42
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/__init__.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/fastsam/__init__.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/fastsam/model.py +6 -6
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/fastsam/predict.py +3 -2
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/fastsam/prompt.py +55 -48
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/fastsam/val.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/nas/__init__.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/nas/model.py +9 -8
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/nas/predict.py +8 -6
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/nas/val.py +11 -9
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/rtdetr/__init__.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/rtdetr/model.py +11 -9
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/rtdetr/train.py +18 -16
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/rtdetr/val.py +25 -19
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/__init__.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/amg.py +13 -14
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/build.py +44 -42
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/model.py +6 -6
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/modules/decoders.py +6 -4
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/modules/encoders.py +37 -35
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/modules/sam.py +5 -4
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/modules/tiny_encoder.py +95 -73
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/modules/transformer.py +3 -2
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/sam/predict.py +39 -27
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/utils/loss.py +99 -95
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/utils/ops.py +34 -31
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/__init__.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/classify/__init__.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/classify/predict.py +8 -6
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/classify/train.py +37 -31
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/classify/val.py +26 -24
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/detect/__init__.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/detect/predict.py +8 -6
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/detect/train.py +47 -37
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/detect/val.py +100 -82
- ultralytics-8.0.239/ultralytics/models/yolo/model.py +45 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/obb/__init__.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/obb/predict.py +13 -12
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/obb/train.py +3 -3
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/obb/val.py +80 -58
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/pose/__init__.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/pose/predict.py +17 -12
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/pose/train.py +28 -25
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/pose/val.py +91 -64
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/segment/__init__.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/segment/predict.py +10 -8
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/segment/train.py +16 -15
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/yolo/segment/val.py +90 -68
- ultralytics-8.0.239/ultralytics/nn/__init__.py +29 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/autobackend.py +144 -112
- ultralytics-8.0.239/ultralytics/nn/modules/__init__.py +117 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/modules/block.py +28 -7
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/modules/conv.py +41 -23
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/modules/head.py +67 -59
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/modules/transformer.py +49 -32
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/modules/utils.py +20 -15
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/nn/tasks.py +215 -141
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/solutions/ai_gym.py +59 -47
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/solutions/distance_calculation.py +22 -15
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/solutions/heatmap.py +76 -54
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/solutions/object_counter.py +46 -39
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/solutions/speed_estimation.py +13 -16
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/__init__.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/basetrack.py +1 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/bot_sort.py +2 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/byte_tracker.py +10 -7
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/track.py +7 -7
- ultralytics-8.0.239/ultralytics/trackers/utils/__init__.py +1 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/utils/gmc.py +25 -25
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/utils/kalman_filter.py +85 -42
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/trackers/utils/matching.py +8 -7
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/__init__.py +173 -151
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/autobatch.py +10 -10
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/benchmarks.py +76 -86
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/__init__.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/base.py +29 -29
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/clearml.py +51 -43
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/comet.py +81 -66
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/dvc.py +33 -26
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/hub.py +44 -26
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/mlflow.py +31 -24
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/neptune.py +35 -25
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/raytune.py +9 -4
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/tensorboard.py +16 -11
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/callbacks/wb.py +39 -33
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/checks.py +189 -141
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/dist.py +15 -12
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/downloads.py +112 -96
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/errors.py +1 -1
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/files.py +11 -11
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/instance.py +22 -22
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/loss.py +117 -67
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/metrics.py +224 -158
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/ops.py +39 -29
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/patches.py +3 -3
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/plotting.py +217 -120
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/tal.py +19 -13
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/torch_utils.py +138 -109
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/triton.py +12 -10
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/utils/tuner.py +49 -47
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics.egg-info/PKG-INFO +5 -4
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics.egg-info/SOURCES.txt +1 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics.egg-info/requires.txt +1 -0
- ultralytics-8.0.237/ultralytics/data/explorer/__init__.py +0 -0
- ultralytics-8.0.237/ultralytics/data/explorer/gui/__init__.py +0 -0
- ultralytics-8.0.237/ultralytics/data/explorer/gui/dash.py +0 -178
- ultralytics-8.0.237/ultralytics/data/explorer/utils.py +0 -104
- ultralytics-8.0.237/ultralytics/hub/__init__.py +0 -100
- ultralytics-8.0.237/ultralytics/hub/session.py +0 -191
- ultralytics-8.0.237/ultralytics/models/yolo/model.py +0 -39
- ultralytics-8.0.237/ultralytics/nn/__init__.py +0 -9
- ultralytics-8.0.237/ultralytics/nn/modules/__init__.py +0 -34
- {ultralytics-8.0.237 → ultralytics-8.0.239}/LICENSE +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/setup.cfg +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/tests/test_cuda.py +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/tests/test_engine.py +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/tests/test_integrations.py +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.0.237/ultralytics/engine → ultralytics-8.0.239/ultralytics/data/explorer/gui}/__init__.py +0 -0
- {ultralytics-8.0.237/ultralytics/models/sam/modules → ultralytics-8.0.239/ultralytics/engine}/__init__.py +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.0.237/ultralytics/models/utils → ultralytics-8.0.239/ultralytics/models/sam/modules}/__init__.py +0 -0
- {ultralytics-8.0.237/ultralytics/solutions → ultralytics-8.0.239/ultralytics/models/utils}/__init__.py +0 -0
- {ultralytics-8.0.237/ultralytics/trackers/utils → ultralytics-8.0.239/ultralytics/solutions}/__init__.py +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.0.237 → ultralytics-8.0.239}/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.0.
|
|
3
|
+
Version: 8.0.239
|
|
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
|
|
@@ -44,6 +44,7 @@ Requires-Dist: py-cpuinfo
|
|
|
44
44
|
Requires-Dist: thop>=0.1.1
|
|
45
45
|
Requires-Dist: pandas>=1.1.4
|
|
46
46
|
Requires-Dist: seaborn>=0.11.0
|
|
47
|
+
Requires-Dist: hub-sdk>=0.0.2
|
|
47
48
|
Provides-Extra: dev
|
|
48
49
|
Requires-Dist: ipython; extra == "dev"
|
|
49
50
|
Requires-Dist: check-manifest; extra == "dev"
|
|
@@ -266,9 +267,9 @@ See [Pose Docs](https://docs.ultralytics.com/tasks/pose/) for usage examples wit
|
|
|
266
267
|
|
|
267
268
|
</details>
|
|
268
269
|
|
|
269
|
-
<details><summary>
|
|
270
|
+
<details><summary>OBB (DOTAv1)</summary>
|
|
270
271
|
|
|
271
|
-
See [
|
|
272
|
+
See [OBB Docs](https://docs.ultralytics.com/tasks/obb/) for usage examples with these models trained on [DOTAv1](https://docs.ultralytics.com/datasets/obb/dota-v2/#dota-v10/), which include 15 pre-trained classes.
|
|
272
273
|
|
|
273
274
|
| Model | size<br><sup>(pixels) | mAP<sup>test<br>50 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
|
|
274
275
|
| -------------------------------------------------------------------------------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
|
|
@@ -278,7 +279,7 @@ See [Obb Docs](https://docs.ultralytics.com/tasks/obb/) for usage examples with
|
|
|
278
279
|
| [YOLOv8l-obb](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-obb.pt) | 1024 | 80.7 | 1278.42 | 11.83 | 44.5 | 433.8 |
|
|
279
280
|
| [YOLOv8x-obb](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-obb.pt) | 1024 | 81.36 | 1759.10 | 13.23 | 69.5 | 676.7 |
|
|
280
281
|
|
|
281
|
-
- **mAP<sup>test</sup>** values are for single-model multi-scale on [DOTAv1](https://captain-whu.github.io/DOTA/index.html) dataset. <br>Reproduce by `yolo val obb data=DOTAv1.yaml device=0 split=test`
|
|
282
|
+
- **mAP<sup>test</sup>** values are for single-model multi-scale on [DOTAv1](https://captain-whu.github.io/DOTA/index.html) dataset. <br>Reproduce by `yolo val obb data=DOTAv1.yaml device=0 split=test` and submit merged results to [DOTA evaluation](https://captain-whu.github.io/DOTA/evaluation.html).
|
|
282
283
|
- **Speed** averaged over DOTAv1 val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. <br>Reproduce by `yolo val obb data=DOTAv1.yaml batch=1 device=0|cpu`
|
|
283
284
|
|
|
284
285
|
</details>
|
|
@@ -187,9 +187,9 @@ See [Pose Docs](https://docs.ultralytics.com/tasks/pose/) for usage examples wit
|
|
|
187
187
|
|
|
188
188
|
</details>
|
|
189
189
|
|
|
190
|
-
<details><summary>
|
|
190
|
+
<details><summary>OBB (DOTAv1)</summary>
|
|
191
191
|
|
|
192
|
-
See [
|
|
192
|
+
See [OBB Docs](https://docs.ultralytics.com/tasks/obb/) for usage examples with these models trained on [DOTAv1](https://docs.ultralytics.com/datasets/obb/dota-v2/#dota-v10/), which include 15 pre-trained classes.
|
|
193
193
|
|
|
194
194
|
| Model | size<br><sup>(pixels) | mAP<sup>test<br>50 | Speed<br><sup>CPU ONNX<br>(ms) | Speed<br><sup>A100 TensorRT<br>(ms) | params<br><sup>(M) | FLOPs<br><sup>(B) |
|
|
195
195
|
| -------------------------------------------------------------------------------------------- | --------------------- | ------------------ | ------------------------------ | ----------------------------------- | ------------------ | ----------------- |
|
|
@@ -199,7 +199,7 @@ See [Obb Docs](https://docs.ultralytics.com/tasks/obb/) for usage examples with
|
|
|
199
199
|
| [YOLOv8l-obb](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8l-obb.pt) | 1024 | 80.7 | 1278.42 | 11.83 | 44.5 | 433.8 |
|
|
200
200
|
| [YOLOv8x-obb](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8x-obb.pt) | 1024 | 81.36 | 1759.10 | 13.23 | 69.5 | 676.7 |
|
|
201
201
|
|
|
202
|
-
- **mAP<sup>test</sup>** values are for single-model multi-scale on [DOTAv1](https://captain-whu.github.io/DOTA/index.html) dataset. <br>Reproduce by `yolo val obb data=DOTAv1.yaml device=0 split=test`
|
|
202
|
+
- **mAP<sup>test</sup>** values are for single-model multi-scale on [DOTAv1](https://captain-whu.github.io/DOTA/index.html) dataset. <br>Reproduce by `yolo val obb data=DOTAv1.yaml device=0 split=test` and submit merged results to [DOTA evaluation](https://captain-whu.github.io/DOTA/evaluation.html).
|
|
203
203
|
- **Speed** averaged over DOTAv1 val images using an [Amazon EC2 P4d](https://aws.amazon.com/ec2/instance-types/p4/) instance. <br>Reproduce by `yolo val obb data=DOTAv1.yaml batch=1 device=0|cpu`
|
|
204
204
|
|
|
205
205
|
</details>
|
|
@@ -78,6 +78,7 @@ dependencies = [
|
|
|
78
78
|
"thop>=0.1.1", # FLOPs computation
|
|
79
79
|
"pandas>=1.1.4",
|
|
80
80
|
"seaborn>=0.11.0", # plotting
|
|
81
|
+
"hub-sdk>=0.0.2", # Ultralytics HUB
|
|
81
82
|
]
|
|
82
83
|
|
|
83
84
|
# Optional dependencies ------------------------------------------------------------------------------------------------
|
|
@@ -106,9 +107,9 @@ export = [
|
|
|
106
107
|
]
|
|
107
108
|
|
|
108
109
|
explorer = [
|
|
109
|
-
"lancedb",
|
|
110
|
-
"duckdb",
|
|
111
|
-
"streamlit",
|
|
110
|
+
"lancedb", # vector search
|
|
111
|
+
"duckdb", # SQL queries, supports lancedb tables
|
|
112
|
+
"streamlit", # visualizing with GUI
|
|
112
113
|
]
|
|
113
114
|
|
|
114
115
|
# tensorflow>=2.4.1,<=2.13.1 # TF exports (-cpu, -aarch64, -macos)
|
|
@@ -178,5 +179,5 @@ pre-summary-newline = true
|
|
|
178
179
|
close-quotes-on-newline = true
|
|
179
180
|
|
|
180
181
|
[tool.codespell]
|
|
181
|
-
ignore-words-list = "crate,nd,strack,dota,ane,segway,fo,gool,winn,commend"
|
|
182
|
-
skip =
|
|
182
|
+
ignore-words-list = "crate,nd,ned,strack,dota,ane,segway,fo,gool,winn,commend,bloc,nam,afterall"
|
|
183
|
+
skip = "*.pt,*.pth,*.torchscript,*.onnx,*.tflite,*.pb,*.bin,*.param,*.mlmodel,*.engine,*.npy,*.data*,*.csv,*pnnx*,*venv*,__pycache__*,*.ico,*.jpg,*.png,*.mp4,*.mov,/runs,/.git,./docs/??/*.md,./docs/mkdocs_??.yml"
|
|
@@ -13,12 +13,14 @@ TASK_ARGS = [
|
|
|
13
13
|
('detect', 'yolov8n', 'coco8.yaml'),
|
|
14
14
|
('segment', 'yolov8n-seg', 'coco8-seg.yaml'),
|
|
15
15
|
('classify', 'yolov8n-cls', 'imagenet10'),
|
|
16
|
-
('pose', 'yolov8n-pose', 'coco8-pose.yaml'),
|
|
16
|
+
('pose', 'yolov8n-pose', 'coco8-pose.yaml'),
|
|
17
|
+
('obb', 'yolov8n-obb', 'dota8.yaml'), ] # (task, model, data)
|
|
17
18
|
EXPORT_ARGS = [
|
|
18
19
|
('yolov8n', 'torchscript'),
|
|
19
20
|
('yolov8n-seg', 'torchscript'),
|
|
20
21
|
('yolov8n-cls', 'torchscript'),
|
|
21
|
-
('yolov8n-pose', 'torchscript'),
|
|
22
|
+
('yolov8n-pose', 'torchscript'),
|
|
23
|
+
('yolov8n-obb', 'torchscript'), ] # (model, format)
|
|
22
24
|
|
|
23
25
|
|
|
24
26
|
def run(cmd):
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import PIL
|
|
2
|
+
|
|
1
3
|
from ultralytics import Explorer
|
|
2
4
|
from ultralytics.utils import ASSETS
|
|
3
5
|
|
|
6
|
+
import PIL
|
|
7
|
+
|
|
4
8
|
|
|
5
9
|
def test_similarity():
|
|
10
|
+
"""Test similarity calculations and SQL queries for correctness and response length."""
|
|
6
11
|
exp = Explorer()
|
|
7
12
|
exp.create_embeddings_table()
|
|
8
13
|
similar = exp.get_similar(idx=1)
|
|
@@ -18,6 +23,7 @@ def test_similarity():
|
|
|
18
23
|
|
|
19
24
|
|
|
20
25
|
def test_det():
|
|
26
|
+
"""Test detection functionalities and ensure the embedding table has bounding boxes."""
|
|
21
27
|
exp = Explorer(data='coco8.yaml', model='yolov8n.pt')
|
|
22
28
|
exp.create_embeddings_table(force=True)
|
|
23
29
|
assert len(exp.table.head()['bboxes']) > 0
|
|
@@ -25,27 +31,26 @@ def test_det():
|
|
|
25
31
|
assert len(similar) > 0
|
|
26
32
|
# This is a loose test, just checks errors not correctness
|
|
27
33
|
similar = exp.plot_similar(idx=[1, 2], limit=10)
|
|
28
|
-
assert similar
|
|
29
|
-
similar.show()
|
|
34
|
+
assert isinstance(similar, PIL.Image.Image)
|
|
30
35
|
|
|
31
36
|
|
|
32
37
|
def test_seg():
|
|
38
|
+
"""Test segmentation functionalities and verify the embedding table includes masks."""
|
|
33
39
|
exp = Explorer(data='coco8-seg.yaml', model='yolov8n-seg.pt')
|
|
34
40
|
exp.create_embeddings_table(force=True)
|
|
35
41
|
assert len(exp.table.head()['masks']) > 0
|
|
36
42
|
similar = exp.get_similar(idx=[1, 2], limit=10)
|
|
37
43
|
assert len(similar) > 0
|
|
38
44
|
similar = exp.plot_similar(idx=[1, 2], limit=10)
|
|
39
|
-
assert similar
|
|
40
|
-
similar.show()
|
|
45
|
+
assert isinstance(similar, PIL.Image.Image)
|
|
41
46
|
|
|
42
47
|
|
|
43
48
|
def test_pose():
|
|
49
|
+
"""Test pose estimation functionalities and check the embedding table for keypoints."""
|
|
44
50
|
exp = Explorer(data='coco8-pose.yaml', model='yolov8n-pose.pt')
|
|
45
51
|
exp.create_embeddings_table(force=True)
|
|
46
52
|
assert len(exp.table.head()['keypoints']) > 0
|
|
47
53
|
similar = exp.get_similar(idx=[1, 2], limit=10)
|
|
48
54
|
assert len(similar) > 0
|
|
49
55
|
similar = exp.plot_similar(idx=[1, 2], limit=10)
|
|
50
|
-
assert similar
|
|
51
|
-
similar.show()
|
|
56
|
+
assert isinstance(similar, PIL.Image.Image)
|
|
@@ -77,6 +77,7 @@ def test_predict_img():
|
|
|
77
77
|
seg_model = YOLO(WEIGHTS_DIR / 'yolov8n-seg.pt')
|
|
78
78
|
cls_model = YOLO(WEIGHTS_DIR / 'yolov8n-cls.pt')
|
|
79
79
|
pose_model = YOLO(WEIGHTS_DIR / 'yolov8n-pose.pt')
|
|
80
|
+
obb_model = YOLO(WEIGHTS_DIR / 'yolov8n-obb.pt')
|
|
80
81
|
im = cv2.imread(str(SOURCE))
|
|
81
82
|
assert len(model(source=Image.open(SOURCE), save=True, verbose=True, imgsz=32)) == 1 # PIL
|
|
82
83
|
assert len(model(source=im, save=True, save_txt=True, imgsz=32)) == 1 # ndarray
|
|
@@ -105,6 +106,8 @@ def test_predict_img():
|
|
|
105
106
|
assert len(results) == t.shape[0]
|
|
106
107
|
results = pose_model(t, imgsz=32)
|
|
107
108
|
assert len(results) == t.shape[0]
|
|
109
|
+
results = obb_model(t, imgsz=32)
|
|
110
|
+
assert len(results) == t.shape[0]
|
|
108
111
|
|
|
109
112
|
|
|
110
113
|
def test_predict_grey_and_4ch():
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Ultralytics YOLO 🚀, AGPL-3.0 license
|
|
2
2
|
|
|
3
|
-
__version__ =
|
|
3
|
+
__version__ = "8.0.239"
|
|
4
4
|
|
|
5
5
|
from ultralytics.data.explorer.explorer import Explorer
|
|
6
6
|
from ultralytics.models import RTDETR, SAM, YOLO
|
|
@@ -10,4 +10,4 @@ from ultralytics.utils import SETTINGS as settings
|
|
|
10
10
|
from ultralytics.utils.checks import check_yolo as checks
|
|
11
11
|
from ultralytics.utils.downloads import download
|
|
12
12
|
|
|
13
|
-
__all__ =
|
|
13
|
+
__all__ = "__version__", "YOLO", "NAS", "SAM", "FastSAM", "RTDETR", "checks", "download", "settings", "Explorer"
|