ultralytics 8.1.38__tar.gz → 8.1.40__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.38/ultralytics.egg-info → ultralytics-8.1.40}/PKG-INFO +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/tests/test_python.py +27 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/__init__.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/__init__.py +3 -3
- ultralytics-8.1.40/ultralytics/cfg/datasets/lvis.yaml +1239 -0
- ultralytics-8.1.40/ultralytics/data/__init__.py +31 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/augment.py +124 -3
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/base.py +2 -2
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/build.py +25 -3
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/converter.py +24 -6
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/dataset.py +142 -27
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/loaders.py +11 -8
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/split_dota.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/utils.py +33 -8
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/engine/exporter.py +3 -3
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/engine/model.py +6 -3
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/engine/results.py +2 -2
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/engine/trainer.py +59 -55
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/engine/validator.py +2 -2
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/hub/utils.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/fastsam/model.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/fastsam/prompt.py +4 -5
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/nas/model.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/sam/model.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/sam/modules/tiny_encoder.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/__init__.py +2 -2
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/classify/train.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/detect/train.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/detect/val.py +36 -17
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/model.py +1 -0
- ultralytics-8.1.40/ultralytics/models/yolo/world/__init__.py +5 -0
- ultralytics-8.1.40/ultralytics/models/yolo/world/train.py +92 -0
- ultralytics-8.1.40/ultralytics/models/yolo/world/train_world.py +108 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/nn/autobackend.py +5 -5
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/nn/modules/block.py +4 -2
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/nn/modules/conv.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/nn/modules/head.py +13 -4
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/nn/tasks.py +30 -14
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/solutions/ai_gym.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/solutions/heatmap.py +85 -47
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/solutions/object_counter.py +79 -64
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/trackers/byte_tracker.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/trackers/track.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/trackers/utils/gmc.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/__init__.py +4 -4
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/benchmarks.py +2 -2
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/callbacks/comet.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/callbacks/mlflow.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/checks.py +3 -3
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/downloads.py +2 -2
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/loss.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/metrics.py +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/plotting.py +36 -22
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/torch_utils.py +17 -3
- {ultralytics-8.1.38 → ultralytics-8.1.40/ultralytics.egg-info}/PKG-INFO +1 -1
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics.egg-info/SOURCES.txt +4 -0
- ultralytics-8.1.38/ultralytics/data/__init__.py +0 -15
- {ultralytics-8.1.38 → ultralytics-8.1.40}/LICENSE +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/README.md +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/pyproject.toml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/setup.cfg +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/tests/test_cli.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/tests/test_cuda.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/tests/test_engine.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/tests/test_explorer.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/tests/test_integrations.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/explorer/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/explorer/explorer.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/explorer/gui/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/explorer/gui/dash.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/data/explorer/utils.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.1.38 → ultralytics-8.1.40}/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.40
|
|
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
|
|
@@ -351,7 +351,7 @@ def test_labels_and_crops():
|
|
|
351
351
|
crop_dirs = [p for p in (save_path / "crops").iterdir()]
|
|
352
352
|
crop_files = [f for p in crop_dirs for f in p.glob("*")]
|
|
353
353
|
# Crop directories match detections
|
|
354
|
-
assert all([r.names.get(c) in
|
|
354
|
+
assert all([r.names.get(c) in {d.name for d in crop_dirs} for c in cls_idxs])
|
|
355
355
|
# Same number of crops as detections
|
|
356
356
|
assert len([f for f in crop_files if im_name in f.name]) == len(r.boxes.data)
|
|
357
357
|
|
|
@@ -643,3 +643,29 @@ def test_yolo_world():
|
|
|
643
643
|
model = YOLO("yolov8s-world.pt") # no YOLOv8n-world model yet
|
|
644
644
|
model.set_classes(["tree", "window"])
|
|
645
645
|
model(ASSETS / "bus.jpg", conf=0.01)
|
|
646
|
+
|
|
647
|
+
# Training from yaml
|
|
648
|
+
model = YOLO("yolov8s-worldv2.yaml") # no YOLOv8n-world model yet
|
|
649
|
+
model.train(data="coco8.yaml", epochs=2, imgsz=32, cache="disk", batch=-1, close_mosaic=1, name="yolo-world")
|
|
650
|
+
|
|
651
|
+
model = YOLO("yolov8s-worldv2.pt") # no YOLOv8n-world model yet
|
|
652
|
+
# val
|
|
653
|
+
model.val(data="coco8.yaml", imgsz=32, save_txt=True, save_json=True)
|
|
654
|
+
# Training from pretrain
|
|
655
|
+
model.train(data="coco8.yaml", epochs=2, imgsz=32, cache="disk", batch=-1, close_mosaic=1, name="yolo-world")
|
|
656
|
+
|
|
657
|
+
# test WorWorldTrainerFromScratch
|
|
658
|
+
from ultralytics.models.yolo.world.train_world import WorldTrainerFromScratch
|
|
659
|
+
|
|
660
|
+
model = YOLO("yolov8s-worldv2.yaml") # no YOLOv8n-world model yet
|
|
661
|
+
data = dict(train=dict(yolo_data=["coco8.yaml"]), val=dict(yolo_data=["coco8.yaml"]))
|
|
662
|
+
model.train(
|
|
663
|
+
data=data,
|
|
664
|
+
epochs=2,
|
|
665
|
+
imgsz=32,
|
|
666
|
+
cache="disk",
|
|
667
|
+
batch=-1,
|
|
668
|
+
close_mosaic=1,
|
|
669
|
+
name="yolo-world",
|
|
670
|
+
trainer=WorldTrainerFromScratch,
|
|
671
|
+
)
|
|
@@ -272,7 +272,7 @@ def get_save_dir(args, name=None):
|
|
|
272
272
|
|
|
273
273
|
project = args.project or (ROOT.parent / "tests/tmp/runs" if TESTS_RUNNING else RUNS_DIR) / args.task
|
|
274
274
|
name = name or args.name or f"{args.mode}"
|
|
275
|
-
save_dir = increment_path(Path(project) / name, exist_ok=args.exist_ok if RANK in
|
|
275
|
+
save_dir = increment_path(Path(project) / name, exist_ok=args.exist_ok if RANK in {-1, 0} else True)
|
|
276
276
|
|
|
277
277
|
return Path(save_dir)
|
|
278
278
|
|
|
@@ -566,10 +566,10 @@ def entrypoint(debug=""):
|
|
|
566
566
|
task = model.task
|
|
567
567
|
|
|
568
568
|
# Mode
|
|
569
|
-
if mode in
|
|
569
|
+
if mode in {"predict", "track"} and "source" not in overrides:
|
|
570
570
|
overrides["source"] = DEFAULT_CFG.source or ASSETS
|
|
571
571
|
LOGGER.warning(f"WARNING ⚠️ 'source' argument is missing. Using default 'source={overrides['source']}'.")
|
|
572
|
-
elif mode in
|
|
572
|
+
elif mode in {"train", "val"}:
|
|
573
573
|
if "data" not in overrides and "resume" not in overrides:
|
|
574
574
|
overrides["data"] = DEFAULT_CFG.data or TASK2DATA.get(task or DEFAULT_CFG.task, DEFAULT_CFG.data)
|
|
575
575
|
LOGGER.warning(f"WARNING ⚠️ 'data' argument is missing. Using default 'data={overrides['data']}'.")
|