ultralytics 8.1.31__tar.gz → 8.1.33__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.1.31/ultralytics.egg-info → ultralytics-8.1.33}/PKG-INFO +2 -2
- {ultralytics-8.1.31 → ultralytics-8.1.33}/pyproject.toml +7 -3
- {ultralytics-8.1.31 → ultralytics-8.1.33}/tests/test_cli.py +1 -1
- {ultralytics-8.1.31 → ultralytics-8.1.33}/tests/test_python.py +7 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/__init__.py +1 -1
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/__init__.py +2 -1
- ultralytics-8.1.33/ultralytics/cfg/datasets/african-wildlife.yaml +24 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/default.yaml +1 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/augment.py +5 -1
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/dataset.py +1 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/engine/model.py +13 -11
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/engine/tuner.py +1 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/hub/__init__.py +1 -1
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/nn/autobackend.py +2 -5
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/nn/tasks.py +1 -1
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/checks.py +3 -3
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/downloads.py +1 -1
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/torch_utils.py +1 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/tuner.py +5 -3
- {ultralytics-8.1.31 → ultralytics-8.1.33/ultralytics.egg-info}/PKG-INFO +2 -2
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics.egg-info/SOURCES.txt +1 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics.egg-info/requires.txt +1 -1
- {ultralytics-8.1.31 → ultralytics-8.1.33}/LICENSE +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/README.md +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/setup.cfg +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/tests/test_cuda.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/tests/test_engine.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/tests/test_explorer.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/tests/test_integrations.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/base.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/build.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/explorer/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/explorer/explorer.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/explorer/gui/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/explorer/gui/dash.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/explorer/utils.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/engine/trainer.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/fastsam/prompt.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.1.31 → ultralytics-8.1.33}/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.1.
|
|
3
|
+
Version: 8.1.33
|
|
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
|
|
@@ -71,7 +71,7 @@ Requires-Dist: comet; extra == "logging"
|
|
|
71
71
|
Requires-Dist: tensorboard>=2.13.0; extra == "logging"
|
|
72
72
|
Requires-Dist: dvclive>=2.12.0; extra == "logging"
|
|
73
73
|
Provides-Extra: extra
|
|
74
|
-
Requires-Dist: hub-sdk>=0.0.
|
|
74
|
+
Requires-Dist: hub-sdk>=0.0.5; extra == "extra"
|
|
75
75
|
Requires-Dist: ipython; extra == "extra"
|
|
76
76
|
Requires-Dist: albumentations>=1.0.3; extra == "extra"
|
|
77
77
|
Requires-Dist: pycocotools>=2.0.7; extra == "extra"
|
|
@@ -117,7 +117,7 @@ logging = [
|
|
|
117
117
|
"dvclive>=2.12.0",
|
|
118
118
|
]
|
|
119
119
|
extra = [
|
|
120
|
-
"hub-sdk>=0.0.
|
|
120
|
+
"hub-sdk>=0.0.5", # Ultralytics HUB
|
|
121
121
|
"ipython", # interactive notebook
|
|
122
122
|
"albumentations>=1.0.3", # training augmentations
|
|
123
123
|
"pycocotools>=2.0.7", # COCO mAP
|
|
@@ -140,9 +140,13 @@ package-data = { "ultralytics" = ["**/*.yaml"], "ultralytics.assets" = ["*.jpg"]
|
|
|
140
140
|
[tool.setuptools.dynamic]
|
|
141
141
|
version = { attr = "ultralytics.__version__" }
|
|
142
142
|
|
|
143
|
-
[tool.pytest]
|
|
144
|
-
norecursedirs = [".git", "dist", "build"]
|
|
143
|
+
[tool.pytest.ini_options]
|
|
145
144
|
addopts = "--doctest-modules --durations=30 --color=yes"
|
|
145
|
+
markers = [
|
|
146
|
+
"slow: skip slow tests unless --slow is set",
|
|
147
|
+
]
|
|
148
|
+
norecursedirs = [".git", "dist", "build"]
|
|
149
|
+
|
|
146
150
|
|
|
147
151
|
[tool.coverage.run]
|
|
148
152
|
source = ["ultralytics/"]
|
|
@@ -69,7 +69,7 @@ def test_rtdetr(task="detect", model="yolov8n-rtdetr.yaml", data="coco8.yaml"):
|
|
|
69
69
|
run(f"yolo predict {task} model={model} source={ASSETS / 'bus.jpg'} imgsz=160 save save_crop save_txt")
|
|
70
70
|
|
|
71
71
|
|
|
72
|
-
@pytest.mark.skipif(checks.IS_PYTHON_3_12, reason="MobileSAM
|
|
72
|
+
@pytest.mark.skipif(checks.IS_PYTHON_3_12, reason="MobileSAM with CLIP is not supported in Python 3.12")
|
|
73
73
|
def test_fastsam(task="segment", model=WEIGHTS_DIR / "FastSAM-s.pt", data="coco8-seg.yaml"):
|
|
74
74
|
"""Test FastSAM segmentation functionality within Ultralytics."""
|
|
75
75
|
source = ASSETS / "bus.jpg"
|
|
@@ -636,3 +636,10 @@ def test_model_embeddings():
|
|
|
636
636
|
for batch in [SOURCE], [SOURCE, SOURCE]: # test batch size 1 and 2
|
|
637
637
|
assert len(model_detect.embed(source=batch, imgsz=32)) == len(batch)
|
|
638
638
|
assert len(model_segment.embed(source=batch, imgsz=32)) == len(batch)
|
|
639
|
+
|
|
640
|
+
|
|
641
|
+
@pytest.mark.skipif(checks.IS_PYTHON_3_12, reason="YOLOWorld with CLIP is not supported in Python 3.12")
|
|
642
|
+
def test_yolo_world():
|
|
643
|
+
model = YOLO("yolov8s-world.pt") # no YOLOv8n-world model yet
|
|
644
|
+
model.set_classes(["tree", "window"])
|
|
645
|
+
model(ASSETS / "bus.jpg", conf=0.01)
|
|
@@ -112,6 +112,7 @@ CFG_FRACTION_KEYS = {
|
|
|
112
112
|
"perspective",
|
|
113
113
|
"flipud",
|
|
114
114
|
"fliplr",
|
|
115
|
+
"bgr",
|
|
115
116
|
"mosaic",
|
|
116
117
|
"mixup",
|
|
117
118
|
"copy_paste",
|
|
@@ -243,7 +244,7 @@ def check_cfg(cfg, hard=True):
|
|
|
243
244
|
f"'{k}={v}' is of invalid type {type(v).__name__}. "
|
|
244
245
|
f"Valid '{k}' types are int (i.e. '{k}=0') or float (i.e. '{k}=0.5')"
|
|
245
246
|
)
|
|
246
|
-
cfg[k] = float(v)
|
|
247
|
+
cfg[k] = v = float(v)
|
|
247
248
|
if not (0.0 <= v <= 1.0):
|
|
248
249
|
raise ValueError(f"'{k}={v}' is an invalid value. " f"Valid '{k}' values are between 0.0 and 1.0.")
|
|
249
250
|
elif k in CFG_INT_KEYS and not isinstance(v, int):
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Ultralytics YOLO 🚀, AGPL-3.0 license
|
|
2
|
+
# African-wildlife dataset by Ultralytics
|
|
3
|
+
# Documentation: https://docs.ultralytics.com/datasets/detect/african-wildlife/
|
|
4
|
+
# Example usage: yolo train data=african-wildlife.yaml
|
|
5
|
+
# parent
|
|
6
|
+
# ├── ultralytics
|
|
7
|
+
# └── datasets
|
|
8
|
+
# └── african-wildlife ← downloads here (100 MB)
|
|
9
|
+
|
|
10
|
+
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
|
|
11
|
+
path: ../datasets/african-wildlife # dataset root dir
|
|
12
|
+
train: train/images # train images (relative to 'path') 1052 images
|
|
13
|
+
val: valid/images # val images (relative to 'path') 225 images
|
|
14
|
+
test: test/images # test images (relative to 'path') 227 images
|
|
15
|
+
|
|
16
|
+
# Classes
|
|
17
|
+
names:
|
|
18
|
+
0: buffalo
|
|
19
|
+
1: elephant
|
|
20
|
+
2: rhino
|
|
21
|
+
3: zebra
|
|
22
|
+
|
|
23
|
+
# Download script/URL (optional)
|
|
24
|
+
download: https://ultralytics.com/assets/african-wildlife.zip
|
|
@@ -111,6 +111,7 @@ shear: 0.0 # (float) image shear (+/- deg)
|
|
|
111
111
|
perspective: 0.0 # (float) image perspective (+/- fraction), range 0-0.001
|
|
112
112
|
flipud: 0.0 # (float) image flip up-down (probability)
|
|
113
113
|
fliplr: 0.5 # (float) image flip left-right (probability)
|
|
114
|
+
bgr: 0.0 # (float) image channel BGR (probability)
|
|
114
115
|
mosaic: 1.0 # (float) image mosaic (probability)
|
|
115
116
|
mixup: 0.0 # (float) image mixup (probability)
|
|
116
117
|
copy_paste: 0.0 # (float) segment copy-paste (probability)
|
|
@@ -886,6 +886,7 @@ class Format:
|
|
|
886
886
|
mask_ratio (int): Downsample ratio for masks. Default is 4.
|
|
887
887
|
mask_overlap (bool): Whether to overlap masks. Default is True.
|
|
888
888
|
batch_idx (bool): Keep batch indexes. Default is True.
|
|
889
|
+
bgr (float): The probability to return BGR images. Default is 0.0.
|
|
889
890
|
"""
|
|
890
891
|
|
|
891
892
|
def __init__(
|
|
@@ -898,6 +899,7 @@ class Format:
|
|
|
898
899
|
mask_ratio=4,
|
|
899
900
|
mask_overlap=True,
|
|
900
901
|
batch_idx=True,
|
|
902
|
+
bgr=0.0,
|
|
901
903
|
):
|
|
902
904
|
"""Initializes the Format class with given parameters."""
|
|
903
905
|
self.bbox_format = bbox_format
|
|
@@ -908,6 +910,7 @@ class Format:
|
|
|
908
910
|
self.mask_ratio = mask_ratio
|
|
909
911
|
self.mask_overlap = mask_overlap
|
|
910
912
|
self.batch_idx = batch_idx # keep the batch indexes
|
|
913
|
+
self.bgr = bgr
|
|
911
914
|
|
|
912
915
|
def __call__(self, labels):
|
|
913
916
|
"""Return formatted image, classes, bounding boxes & keypoints to be used by 'collate_fn'."""
|
|
@@ -948,7 +951,8 @@ class Format:
|
|
|
948
951
|
"""Format the image for YOLO from Numpy array to PyTorch tensor."""
|
|
949
952
|
if len(img.shape) < 3:
|
|
950
953
|
img = np.expand_dims(img, -1)
|
|
951
|
-
img =
|
|
954
|
+
img = img.transpose(2, 0, 1)
|
|
955
|
+
img = np.ascontiguousarray(img[::-1] if random.uniform(0, 1) > self.bgr else img)
|
|
952
956
|
img = torch.from_numpy(img)
|
|
953
957
|
return img
|
|
954
958
|
|
|
@@ -119,30 +119,27 @@ class Model(nn.Module):
|
|
|
119
119
|
self.metrics = None # validation/training metrics
|
|
120
120
|
self.session = None # HUB session
|
|
121
121
|
self.task = task # task type
|
|
122
|
-
|
|
122
|
+
model = str(model).strip()
|
|
123
123
|
|
|
124
124
|
# Check if Ultralytics HUB model from https://hub.ultralytics.com
|
|
125
125
|
if self.is_hub_model(model):
|
|
126
126
|
# Fetch model from HUB
|
|
127
|
-
checks.check_requirements("hub-sdk>=0.0.
|
|
127
|
+
checks.check_requirements("hub-sdk>=0.0.6")
|
|
128
128
|
self.session = self._get_hub_session(model)
|
|
129
129
|
model = self.session.model_file
|
|
130
130
|
|
|
131
131
|
# Check if Triton Server model
|
|
132
132
|
elif self.is_triton_model(model):
|
|
133
|
-
self.model = model
|
|
133
|
+
self.model_name = self.model = model
|
|
134
134
|
self.task = task
|
|
135
135
|
return
|
|
136
136
|
|
|
137
137
|
# Load or create new YOLO model
|
|
138
|
-
model = checks.check_model_file_from_stem(model) # add suffix, i.e. yolov8n -> yolov8n.pt
|
|
139
138
|
if Path(model).suffix in (".yaml", ".yml"):
|
|
140
139
|
self._new(model, task=task, verbose=verbose)
|
|
141
140
|
else:
|
|
142
141
|
self._load(model, task=task)
|
|
143
142
|
|
|
144
|
-
self.model_name = model
|
|
145
|
-
|
|
146
143
|
def __call__(
|
|
147
144
|
self,
|
|
148
145
|
source: Union[str, Path, int, list, tuple, np.ndarray, torch.Tensor] = None,
|
|
@@ -190,8 +187,8 @@ class Model(nn.Module):
|
|
|
190
187
|
return any(
|
|
191
188
|
(
|
|
192
189
|
model.startswith(f"{HUB_WEB_ROOT}/models/"), # i.e. https://hub.ultralytics.com/models/MODEL_ID
|
|
193
|
-
[len(x) for x in model.split("_")] == [42, 20], #
|
|
194
|
-
len(model) == 20 and not Path(model).exists() and all(x not in model for x in "./\\"), #
|
|
190
|
+
[len(x) for x in model.split("_")] == [42, 20], # APIKEY_MODEL
|
|
191
|
+
len(model) == 20 and not Path(model).exists() and all(x not in model for x in "./\\"), # MODEL
|
|
195
192
|
)
|
|
196
193
|
)
|
|
197
194
|
|
|
@@ -215,6 +212,7 @@ class Model(nn.Module):
|
|
|
215
212
|
# Below added to allow export from YAMLs
|
|
216
213
|
self.model.args = {**DEFAULT_CFG_DICT, **self.overrides} # combine default and model args (prefer model args)
|
|
217
214
|
self.model.task = self.task
|
|
215
|
+
self.model_name = cfg
|
|
218
216
|
|
|
219
217
|
def _load(self, weights: str, task=None) -> None:
|
|
220
218
|
"""
|
|
@@ -224,19 +222,23 @@ class Model(nn.Module):
|
|
|
224
222
|
weights (str): model checkpoint to be loaded
|
|
225
223
|
task (str | None): model task
|
|
226
224
|
"""
|
|
227
|
-
|
|
228
|
-
|
|
225
|
+
if weights.lower().startswith(("https://", "http://", "rtsp://", "rtmp://", "tcp://")):
|
|
226
|
+
weights = checks.check_file(weights) # automatically download and return local filename
|
|
227
|
+
weights = checks.check_model_file_from_stem(weights) # add suffix, i.e. yolov8n -> yolov8n.pt
|
|
228
|
+
|
|
229
|
+
if Path(weights).suffix == ".pt":
|
|
229
230
|
self.model, self.ckpt = attempt_load_one_weight(weights)
|
|
230
231
|
self.task = self.model.args["task"]
|
|
231
232
|
self.overrides = self.model.args = self._reset_ckpt_args(self.model.args)
|
|
232
233
|
self.ckpt_path = self.model.pt_path
|
|
233
234
|
else:
|
|
234
|
-
weights = checks.check_file(weights)
|
|
235
|
+
weights = checks.check_file(weights) # runs in all cases, not redundant with above call
|
|
235
236
|
self.model, self.ckpt = weights, None
|
|
236
237
|
self.task = task or guess_model_task(weights)
|
|
237
238
|
self.ckpt_path = weights
|
|
238
239
|
self.overrides["model"] = weights
|
|
239
240
|
self.overrides["task"] = self.task
|
|
241
|
+
self.model_name = weights
|
|
240
242
|
|
|
241
243
|
def _check_is_pytorch_model(self) -> None:
|
|
242
244
|
"""Raises TypeError is model is not a PyTorch model."""
|
|
@@ -95,6 +95,7 @@ class Tuner:
|
|
|
95
95
|
"perspective": (0.0, 0.001), # image perspective (+/- fraction), range 0-0.001
|
|
96
96
|
"flipud": (0.0, 1.0), # image flip up-down (probability)
|
|
97
97
|
"fliplr": (0.0, 1.0), # image flip left-right (probability)
|
|
98
|
+
"bgr": (0.0, 1.0), # image channel bgr (probability)
|
|
98
99
|
"mosaic": (0.0, 1.0), # image mixup (probability)
|
|
99
100
|
"mixup": (0.0, 1.0), # image mixup (probability)
|
|
100
101
|
"copy_paste": (0.0, 1.0), # segment copy-paste (probability)
|
|
@@ -23,7 +23,7 @@ def login(api_key: str = None, save=True) -> bool:
|
|
|
23
23
|
Returns:
|
|
24
24
|
(bool): True if authentication is successful, False otherwise.
|
|
25
25
|
"""
|
|
26
|
-
checks.check_requirements("hub-sdk>=0.0.
|
|
26
|
+
checks.check_requirements("hub-sdk>=0.0.6")
|
|
27
27
|
from hub_sdk import HUBClient
|
|
28
28
|
|
|
29
29
|
api_key_url = f"{HUB_WEB_ROOT}/settings?tab=api+keys" # set the redirect URL
|
|
@@ -202,13 +202,10 @@ class AutoBackend(nn.Module):
|
|
|
202
202
|
ov_model = core.read_model(model=str(w), weights=w.with_suffix(".bin"))
|
|
203
203
|
if ov_model.get_parameters()[0].get_layout().empty:
|
|
204
204
|
ov_model.get_parameters()[0].set_layout(ov.Layout("NCHW"))
|
|
205
|
-
batch_dim = ov.get_batch(ov_model)
|
|
206
|
-
if batch_dim.is_static:
|
|
207
|
-
batch_size = batch_dim.get_length()
|
|
208
205
|
|
|
209
206
|
# OpenVINO inference modes are 'LATENCY', 'THROUGHPUT' (not recommended), or 'CUMULATIVE_THROUGHPUT'
|
|
210
207
|
inference_mode = "CUMULATIVE_THROUGHPUT" if batch > 1 else "LATENCY"
|
|
211
|
-
LOGGER.info(f"Using OpenVINO {inference_mode} mode for batch
|
|
208
|
+
LOGGER.info(f"Using OpenVINO {inference_mode} mode for batch={batch} inference...")
|
|
212
209
|
ov_compiled_model = core.compile_model(
|
|
213
210
|
ov_model,
|
|
214
211
|
device_name="AUTO", # AUTO selects best available device, do not modify
|
|
@@ -606,7 +603,7 @@ class AutoBackend(nn.Module):
|
|
|
606
603
|
from ultralytics.engine.exporter import export_formats
|
|
607
604
|
|
|
608
605
|
sf = list(export_formats().Suffix) # export suffixes
|
|
609
|
-
if not is_url(p
|
|
606
|
+
if not is_url(p) and not isinstance(p, str):
|
|
610
607
|
check_suffix(p, sf) # checks
|
|
611
608
|
name = Path(p).name
|
|
612
609
|
types = [s in name for s in sf]
|
|
@@ -572,7 +572,7 @@ class WorldModel(DetectionModel):
|
|
|
572
572
|
check_requirements("git+https://github.com/openai/CLIP.git")
|
|
573
573
|
import clip
|
|
574
574
|
|
|
575
|
-
if not self
|
|
575
|
+
if not getattr(self, "clip_model", None): # for backwards compatibility of models lacking clip_model attribute
|
|
576
576
|
self.clip_model = clip.load("ViT-B/32")[0]
|
|
577
577
|
device = next(self.clip_model.parameters()).device
|
|
578
578
|
text_token = clip.tokenize(text).to(device)
|
|
@@ -315,7 +315,7 @@ def check_font(font="Arial.ttf"):
|
|
|
315
315
|
|
|
316
316
|
# Download to USER_CONFIG_DIR if missing
|
|
317
317
|
url = f"https://ultralytics.com/assets/{name}"
|
|
318
|
-
if downloads.is_url(url):
|
|
318
|
+
if downloads.is_url(url, check=True):
|
|
319
319
|
downloads.safe_download(url=url, file=file)
|
|
320
320
|
return file
|
|
321
321
|
|
|
@@ -498,7 +498,7 @@ def check_file(file, suffix="", download=True, hard=True):
|
|
|
498
498
|
raise FileNotFoundError(f"'{file}' does not exist")
|
|
499
499
|
elif len(files) > 1 and hard:
|
|
500
500
|
raise FileNotFoundError(f"Multiple files match '{file}', specify exact path: {files}")
|
|
501
|
-
return files[0] if len(files) else [] # return file
|
|
501
|
+
return files[0] if len(files) else [] if hard else file # return file
|
|
502
502
|
|
|
503
503
|
|
|
504
504
|
def check_yaml(file, suffix=(".yaml", ".yml"), hard=True):
|
|
@@ -726,4 +726,4 @@ def cuda_is_available() -> bool:
|
|
|
726
726
|
|
|
727
727
|
|
|
728
728
|
# Define constants
|
|
729
|
-
IS_PYTHON_3_12 =
|
|
729
|
+
IS_PYTHON_3_12 = PYTHON_VERSION.startswith("3.12")
|
|
@@ -33,7 +33,7 @@ GITHUB_ASSETS_NAMES = (
|
|
|
33
33
|
GITHUB_ASSETS_STEMS = [Path(k).stem for k in GITHUB_ASSETS_NAMES]
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
def is_url(url, check=
|
|
36
|
+
def is_url(url, check=False):
|
|
37
37
|
"""
|
|
38
38
|
Validates if the given string is a URL and optionally checks if the URL exists online.
|
|
39
39
|
|
|
@@ -24,6 +24,7 @@ try:
|
|
|
24
24
|
except ImportError:
|
|
25
25
|
thop = None
|
|
26
26
|
|
|
27
|
+
# Version checks (all default to version>=min_version)
|
|
27
28
|
TORCH_1_9 = check_version(torch.__version__, "1.9.0")
|
|
28
29
|
TORCH_1_13 = check_version(torch.__version__, "1.13.0")
|
|
29
30
|
TORCH_2_0 = check_version(torch.__version__, "2.0.0")
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import subprocess
|
|
4
4
|
|
|
5
5
|
from ultralytics.cfg import TASK2DATA, TASK2METRIC, get_save_dir
|
|
6
|
-
from ultralytics.utils import DEFAULT_CFG, DEFAULT_CFG_DICT, LOGGER, NUM_THREADS
|
|
6
|
+
from ultralytics.utils import DEFAULT_CFG, DEFAULT_CFG_DICT, LOGGER, NUM_THREADS, checks
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def run_ray_tune(
|
|
@@ -40,7 +40,7 @@ def run_ray_tune(
|
|
|
40
40
|
train_args = {}
|
|
41
41
|
|
|
42
42
|
try:
|
|
43
|
-
subprocess.run("pip install ray[tune]".split(), check=True)
|
|
43
|
+
subprocess.run("pip install ray[tune]<=2.9.3".split(), check=True) # do not add single quotes here
|
|
44
44
|
|
|
45
45
|
import ray
|
|
46
46
|
from ray import tune
|
|
@@ -48,7 +48,7 @@ def run_ray_tune(
|
|
|
48
48
|
from ray.air.integrations.wandb import WandbLoggerCallback
|
|
49
49
|
from ray.tune.schedulers import ASHAScheduler
|
|
50
50
|
except ImportError:
|
|
51
|
-
raise ModuleNotFoundError('
|
|
51
|
+
raise ModuleNotFoundError('Ray Tune required but not found. To install run: pip install "ray[tune]<=2.9.3"')
|
|
52
52
|
|
|
53
53
|
try:
|
|
54
54
|
import wandb
|
|
@@ -57,6 +57,7 @@ def run_ray_tune(
|
|
|
57
57
|
except (ImportError, AssertionError):
|
|
58
58
|
wandb = False
|
|
59
59
|
|
|
60
|
+
checks.check_version(ray.__version__, "<=2.9.3", "ray")
|
|
60
61
|
default_space = {
|
|
61
62
|
# 'optimizer': tune.choice(['SGD', 'Adam', 'AdamW', 'NAdam', 'RAdam', 'RMSProp']),
|
|
62
63
|
"lr0": tune.uniform(1e-5, 1e-1),
|
|
@@ -77,6 +78,7 @@ def run_ray_tune(
|
|
|
77
78
|
"perspective": tune.uniform(0.0, 0.001), # image perspective (+/- fraction), range 0-0.001
|
|
78
79
|
"flipud": tune.uniform(0.0, 1.0), # image flip up-down (probability)
|
|
79
80
|
"fliplr": tune.uniform(0.0, 1.0), # image flip left-right (probability)
|
|
81
|
+
"bgr": tune.uniform(0.0, 1.0), # image channel BGR (probability)
|
|
80
82
|
"mosaic": tune.uniform(0.0, 1.0), # image mixup (probability)
|
|
81
83
|
"mixup": tune.uniform(0.0, 1.0), # image mixup (probability)
|
|
82
84
|
"copy_paste": tune.uniform(0.0, 1.0), # segment copy-paste (probability)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.1.
|
|
3
|
+
Version: 8.1.33
|
|
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
|
|
@@ -71,7 +71,7 @@ Requires-Dist: comet; extra == "logging"
|
|
|
71
71
|
Requires-Dist: tensorboard>=2.13.0; extra == "logging"
|
|
72
72
|
Requires-Dist: dvclive>=2.12.0; extra == "logging"
|
|
73
73
|
Provides-Extra: extra
|
|
74
|
-
Requires-Dist: hub-sdk>=0.0.
|
|
74
|
+
Requires-Dist: hub-sdk>=0.0.5; extra == "extra"
|
|
75
75
|
Requires-Dist: ipython; extra == "extra"
|
|
76
76
|
Requires-Dist: albumentations>=1.0.3; extra == "extra"
|
|
77
77
|
Requires-Dist: pycocotools>=2.0.7; extra == "extra"
|
|
@@ -27,6 +27,7 @@ ultralytics/cfg/datasets/Objects365.yaml
|
|
|
27
27
|
ultralytics/cfg/datasets/SKU-110K.yaml
|
|
28
28
|
ultralytics/cfg/datasets/VOC.yaml
|
|
29
29
|
ultralytics/cfg/datasets/VisDrone.yaml
|
|
30
|
+
ultralytics/cfg/datasets/african-wildlife.yaml
|
|
30
31
|
ultralytics/cfg/datasets/brain-tumor.yaml
|
|
31
32
|
ultralytics/cfg/datasets/carparts-seg.yaml
|
|
32
33
|
ultralytics/cfg/datasets/coco-pose.yaml
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
|
File without changes
|
{ultralytics-8.1.31 → ultralytics-8.1.33}/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
|
{ultralytics-8.1.31 → ultralytics-8.1.33}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml
RENAMED
|
File without changes
|
{ultralytics-8.1.31 → ultralytics-8.1.33}/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
|