ultralytics 8.2.38__tar.gz → 8.2.39__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.38 → ultralytics-8.2.39}/PKG-INFO +6 -6
- {ultralytics-8.2.38 → ultralytics-8.2.39}/README.md +5 -5
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/__init__.py +1 -1
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-p6.yaml +5 -5
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/augment.py +13 -16
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/converter.py +10 -11
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/split_dota.py +4 -4
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/engine/exporter.py +2 -2
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/engine/model.py +0 -1
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/sam/modules/tiny_encoder.py +6 -7
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/nn/modules/__init__.py +1 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/nn/modules/block.py +1 -2
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/nn/modules/head.py +1 -2
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/nn/tasks.py +5 -1
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/solutions/__init__.py +1 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/__init__.py +1 -1
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics.egg-info/PKG-INFO +6 -6
- {ultralytics-8.2.38 → ultralytics-8.2.39}/LICENSE +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/pyproject.toml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/setup.cfg +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/tests/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/tests/conftest.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/tests/test_cli.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/tests/test_cuda.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/tests/test_engine.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/tests/test_explorer.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/tests/test_exports.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/tests/test_integrations.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/tests/test_python.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v10/yolov10b.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v10/yolov10l.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v10/yolov10m.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v10/yolov10n.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v10/yolov10s.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v10/yolov10x.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v9/yolov9m.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v9/yolov9s.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/v9/yolov9t.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/base.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/build.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/explorer/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/explorer/explorer.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/explorer/gui/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/explorer/gui/dash.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/explorer/utils.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/engine/trainer.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/fastsam/prompt.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/nn/autobackend.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/checks.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/torch_utils.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.2.38 → ultralytics-8.2.39}/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.39
|
|
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
|
|
@@ -122,7 +122,7 @@ To request an Enterprise License please complete the form at [Ultralytics Licens
|
|
|
122
122
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space">
|
|
123
123
|
<a href="https://www.tiktok.com/@ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-tiktok.png" width="2%" alt="Ultralytics TikTok"></a>
|
|
124
124
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space">
|
|
125
|
-
<a href="https://
|
|
125
|
+
<a href="https://ultralytics.com/bilibili"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-bilibili.png" width="2%" alt="Ultralytics BiliBili"></a>
|
|
126
126
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space">
|
|
127
127
|
<a href="https://ultralytics.com/discord"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-discord.png" width="2%" alt="Ultralytics Discord"></a>
|
|
128
128
|
</div>
|
|
@@ -313,7 +313,7 @@ See [Classification Docs](https://docs.ultralytics.com/tasks/classify/) for usag
|
|
|
313
313
|
Our key integrations with leading AI platforms extend the functionality of Ultralytics' offerings, enhancing tasks like dataset labeling, training, visualization, and model management. Discover how Ultralytics, in collaboration with [Roboflow](https://roboflow.com/?ref=ultralytics), ClearML, [Comet](https://bit.ly/yolov8-readme-comet), Neural Magic and [OpenVINO](https://docs.ultralytics.com/integrations/openvino), can optimize your AI workflow.
|
|
314
314
|
|
|
315
315
|
<br>
|
|
316
|
-
<a href="https://
|
|
316
|
+
<a href="https://ultralytics.com/hub" target="_blank">
|
|
317
317
|
<img width="100%" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics active learning integrations"></a>
|
|
318
318
|
<br>
|
|
319
319
|
<br>
|
|
@@ -338,9 +338,9 @@ Our key integrations with leading AI platforms extend the functionality of Ultra
|
|
|
338
338
|
|
|
339
339
|
## <div align="center">Ultralytics HUB</div>
|
|
340
340
|
|
|
341
|
-
Experience seamless AI with [Ultralytics HUB](https://
|
|
341
|
+
Experience seamless AI with [Ultralytics HUB](https://ultralytics.com/hub) ⭐, the all-in-one solution for data visualization, YOLOv5 and YOLOv8 🚀 model training and deployment, without any coding. Transform images into actionable insights and bring your AI visions to life with ease using our cutting-edge platform and user-friendly [Ultralytics App](https://ultralytics.com/app_install). Start your journey for **Free** now!
|
|
342
342
|
|
|
343
|
-
<a href="https://
|
|
343
|
+
<a href="https://ultralytics.com/hub" target="_blank">
|
|
344
344
|
<img width="100%" src="https://github.com/ultralytics/assets/raw/main/im/ultralytics-hub.png" alt="Ultralytics HUB preview image"></a>
|
|
345
345
|
|
|
346
346
|
## <div align="center">Contribute</div>
|
|
@@ -375,7 +375,7 @@ For Ultralytics bug reports and feature requests please visit [GitHub Issues](ht
|
|
|
375
375
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space">
|
|
376
376
|
<a href="https://www.tiktok.com/@ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-tiktok.png" width="3%" alt="Ultralytics TikTok"></a>
|
|
377
377
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space">
|
|
378
|
-
<a href="https://
|
|
378
|
+
<a href="https://ultralytics.com/bilibili"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-bilibili.png" width="3%" alt="Ultralytics BiliBili"></a>
|
|
379
379
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space">
|
|
380
380
|
<a href="https://ultralytics.com/discord"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-discord.png" width="3%" alt="Ultralytics Discord"></a>
|
|
381
381
|
</div>
|
|
@@ -38,7 +38,7 @@ To request an Enterprise License please complete the form at [Ultralytics Licens
|
|
|
38
38
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space">
|
|
39
39
|
<a href="https://www.tiktok.com/@ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-tiktok.png" width="2%" alt="Ultralytics TikTok"></a>
|
|
40
40
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space">
|
|
41
|
-
<a href="https://
|
|
41
|
+
<a href="https://ultralytics.com/bilibili"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-bilibili.png" width="2%" alt="Ultralytics BiliBili"></a>
|
|
42
42
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space">
|
|
43
43
|
<a href="https://ultralytics.com/discord"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-discord.png" width="2%" alt="Ultralytics Discord"></a>
|
|
44
44
|
</div>
|
|
@@ -229,7 +229,7 @@ See [Classification Docs](https://docs.ultralytics.com/tasks/classify/) for usag
|
|
|
229
229
|
Our key integrations with leading AI platforms extend the functionality of Ultralytics' offerings, enhancing tasks like dataset labeling, training, visualization, and model management. Discover how Ultralytics, in collaboration with [Roboflow](https://roboflow.com/?ref=ultralytics), ClearML, [Comet](https://bit.ly/yolov8-readme-comet), Neural Magic and [OpenVINO](https://docs.ultralytics.com/integrations/openvino), can optimize your AI workflow.
|
|
230
230
|
|
|
231
231
|
<br>
|
|
232
|
-
<a href="https://
|
|
232
|
+
<a href="https://ultralytics.com/hub" target="_blank">
|
|
233
233
|
<img width="100%" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics active learning integrations"></a>
|
|
234
234
|
<br>
|
|
235
235
|
<br>
|
|
@@ -254,9 +254,9 @@ Our key integrations with leading AI platforms extend the functionality of Ultra
|
|
|
254
254
|
|
|
255
255
|
## <div align="center">Ultralytics HUB</div>
|
|
256
256
|
|
|
257
|
-
Experience seamless AI with [Ultralytics HUB](https://
|
|
257
|
+
Experience seamless AI with [Ultralytics HUB](https://ultralytics.com/hub) ⭐, the all-in-one solution for data visualization, YOLOv5 and YOLOv8 🚀 model training and deployment, without any coding. Transform images into actionable insights and bring your AI visions to life with ease using our cutting-edge platform and user-friendly [Ultralytics App](https://ultralytics.com/app_install). Start your journey for **Free** now!
|
|
258
258
|
|
|
259
|
-
<a href="https://
|
|
259
|
+
<a href="https://ultralytics.com/hub" target="_blank">
|
|
260
260
|
<img width="100%" src="https://github.com/ultralytics/assets/raw/main/im/ultralytics-hub.png" alt="Ultralytics HUB preview image"></a>
|
|
261
261
|
|
|
262
262
|
## <div align="center">Contribute</div>
|
|
@@ -291,7 +291,7 @@ For Ultralytics bug reports and feature requests please visit [GitHub Issues](ht
|
|
|
291
291
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space">
|
|
292
292
|
<a href="https://www.tiktok.com/@ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-tiktok.png" width="3%" alt="Ultralytics TikTok"></a>
|
|
293
293
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space">
|
|
294
|
-
<a href="https://
|
|
294
|
+
<a href="https://ultralytics.com/bilibili"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-bilibili.png" width="3%" alt="Ultralytics BiliBili"></a>
|
|
295
295
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space">
|
|
296
296
|
<a href="https://ultralytics.com/discord"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-discord.png" width="3%" alt="Ultralytics Discord"></a>
|
|
297
297
|
</div>
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
nc: 80 # number of classes
|
|
6
6
|
scales: # model compound scaling constants, i.e. 'model=yolov8n-p6.yaml' will call yolov8-p6.yaml with scale 'n'
|
|
7
7
|
# [depth, width, max_channels]
|
|
8
|
-
n: [0.33, 0.25, 1024]
|
|
9
|
-
s: [0.33, 0.50, 1024]
|
|
10
|
-
m: [0.67, 0.75, 768]
|
|
11
|
-
l: [1.00, 1.00, 512]
|
|
12
|
-
x: [1.00, 1.25, 512]
|
|
8
|
+
n: [0.33, 0.25, 1024] # YOLOv8n-p6 summary (fused): 220 layers, 4976656 parameters, 42560 gradients, 8.7 GFLOPs
|
|
9
|
+
s: [0.33, 0.50, 1024] # YOLOv8s-p6 summary (fused): 220 layers, 17897168 parameters, 57920 gradients, 28.5 GFLOPs
|
|
10
|
+
m: [0.67, 0.75, 768] # YOLOv8m-p6 summary (fused): 285 layers, 44862352 parameters, 78400 gradients, 83.1 GFLOPs
|
|
11
|
+
l: [1.00, 1.00, 512] # YOLOv8l-p6 summary (fused): 350 layers, 62351440 parameters, 98880 gradients, 167.3 GFLOPs
|
|
12
|
+
x: [1.00, 1.25, 512] # YOLOv8x-p6 summary (fused): 350 layers, 97382352 parameters, 123456 gradients, 261.1 GFLOPs
|
|
13
13
|
|
|
14
14
|
# YOLOv8.0x6 backbone
|
|
15
15
|
backbone:
|
|
@@ -1223,16 +1223,13 @@ def classify_transforms(
|
|
|
1223
1223
|
else:
|
|
1224
1224
|
# Resize the shortest edge to matching target dim for non-square target
|
|
1225
1225
|
tfl = [T.Resize(scale_size)]
|
|
1226
|
-
tfl
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
),
|
|
1234
|
-
]
|
|
1235
|
-
|
|
1226
|
+
tfl.extend(
|
|
1227
|
+
[
|
|
1228
|
+
T.CenterCrop(size),
|
|
1229
|
+
T.ToTensor(),
|
|
1230
|
+
T.Normalize(mean=torch.tensor(mean), std=torch.tensor(std)),
|
|
1231
|
+
]
|
|
1232
|
+
)
|
|
1236
1233
|
return T.Compose(tfl)
|
|
1237
1234
|
|
|
1238
1235
|
|
|
@@ -1284,9 +1281,9 @@ def classify_augmentations(
|
|
|
1284
1281
|
ratio = tuple(ratio or (3.0 / 4.0, 4.0 / 3.0)) # default imagenet ratio range
|
|
1285
1282
|
primary_tfl = [T.RandomResizedCrop(size, scale=scale, ratio=ratio, interpolation=interpolation)]
|
|
1286
1283
|
if hflip > 0.0:
|
|
1287
|
-
primary_tfl
|
|
1284
|
+
primary_tfl.append(T.RandomHorizontalFlip(p=hflip))
|
|
1288
1285
|
if vflip > 0.0:
|
|
1289
|
-
primary_tfl
|
|
1286
|
+
primary_tfl.append(T.RandomVerticalFlip(p=vflip))
|
|
1290
1287
|
|
|
1291
1288
|
secondary_tfl = []
|
|
1292
1289
|
disable_color_jitter = False
|
|
@@ -1298,19 +1295,19 @@ def classify_augmentations(
|
|
|
1298
1295
|
|
|
1299
1296
|
if auto_augment == "randaugment":
|
|
1300
1297
|
if TORCHVISION_0_11:
|
|
1301
|
-
secondary_tfl
|
|
1298
|
+
secondary_tfl.append(T.RandAugment(interpolation=interpolation))
|
|
1302
1299
|
else:
|
|
1303
1300
|
LOGGER.warning('"auto_augment=randaugment" requires torchvision >= 0.11.0. Disabling it.')
|
|
1304
1301
|
|
|
1305
1302
|
elif auto_augment == "augmix":
|
|
1306
1303
|
if TORCHVISION_0_13:
|
|
1307
|
-
secondary_tfl
|
|
1304
|
+
secondary_tfl.append(T.AugMix(interpolation=interpolation))
|
|
1308
1305
|
else:
|
|
1309
1306
|
LOGGER.warning('"auto_augment=augmix" requires torchvision >= 0.13.0. Disabling it.')
|
|
1310
1307
|
|
|
1311
1308
|
elif auto_augment == "autoaugment":
|
|
1312
1309
|
if TORCHVISION_0_10:
|
|
1313
|
-
secondary_tfl
|
|
1310
|
+
secondary_tfl.append(T.AutoAugment(interpolation=interpolation))
|
|
1314
1311
|
else:
|
|
1315
1312
|
LOGGER.warning('"auto_augment=autoaugment" requires torchvision >= 0.10.0. Disabling it.')
|
|
1316
1313
|
|
|
@@ -1321,7 +1318,7 @@ def classify_augmentations(
|
|
|
1321
1318
|
)
|
|
1322
1319
|
|
|
1323
1320
|
if not disable_color_jitter:
|
|
1324
|
-
secondary_tfl
|
|
1321
|
+
secondary_tfl.append(T.ColorJitter(brightness=hsv_v, contrast=hsv_v, saturation=hsv_s, hue=hsv_h))
|
|
1325
1322
|
|
|
1326
1323
|
final_tfl = [
|
|
1327
1324
|
T.ToTensor(),
|
|
@@ -329,8 +329,7 @@ def convert_coco(
|
|
|
329
329
|
|
|
330
330
|
if lvis:
|
|
331
331
|
with open((Path(save_dir) / json_file.name.replace("lvis_v1_", "").replace(".json", ".txt")), "a") as f:
|
|
332
|
-
for
|
|
333
|
-
f.write(f"{l}\n")
|
|
332
|
+
f.writelines(f"{line}\n" for line in image_txt)
|
|
334
333
|
|
|
335
334
|
LOGGER.info(f"{'LVIS' if lvis else 'COCO'} data converted successfully.\nResults saved to {save_dir.resolve()}")
|
|
336
335
|
|
|
@@ -534,25 +533,25 @@ def yolo_bbox2segment(im_dir, save_dir=None, sam_model="sam_b.pt"):
|
|
|
534
533
|
|
|
535
534
|
LOGGER.info("Detection labels detected, generating segment labels by SAM model!")
|
|
536
535
|
sam_model = SAM(sam_model)
|
|
537
|
-
for
|
|
538
|
-
h, w =
|
|
539
|
-
boxes =
|
|
536
|
+
for label in tqdm(dataset.labels, total=len(dataset.labels), desc="Generating segment labels"):
|
|
537
|
+
h, w = label["shape"]
|
|
538
|
+
boxes = label["bboxes"]
|
|
540
539
|
if len(boxes) == 0: # skip empty labels
|
|
541
540
|
continue
|
|
542
541
|
boxes[:, [0, 2]] *= w
|
|
543
542
|
boxes[:, [1, 3]] *= h
|
|
544
|
-
im = cv2.imread(
|
|
543
|
+
im = cv2.imread(label["im_file"])
|
|
545
544
|
sam_results = sam_model(im, bboxes=xywh2xyxy(boxes), verbose=False, save=False)
|
|
546
|
-
|
|
545
|
+
label["segments"] = sam_results[0].masks.xyn
|
|
547
546
|
|
|
548
547
|
save_dir = Path(save_dir) if save_dir else Path(im_dir).parent / "labels-segment"
|
|
549
548
|
save_dir.mkdir(parents=True, exist_ok=True)
|
|
550
|
-
for
|
|
549
|
+
for label in dataset.labels:
|
|
551
550
|
texts = []
|
|
552
|
-
lb_name = Path(
|
|
551
|
+
lb_name = Path(label["im_file"]).with_suffix(".txt").name
|
|
553
552
|
txt_file = save_dir / lb_name
|
|
554
|
-
cls =
|
|
555
|
-
for i, s in enumerate(
|
|
553
|
+
cls = label["cls"]
|
|
554
|
+
for i, s in enumerate(label["segments"]):
|
|
556
555
|
line = (int(cls[i]), *s.reshape(-1))
|
|
557
556
|
texts.append(("%g " * len(line)).rstrip() % line)
|
|
558
557
|
if texts:
|
|
@@ -26,8 +26,8 @@ def bbox_iof(polygon1, bbox2, eps=1e-6):
|
|
|
26
26
|
bbox2 (np.ndarray): Bounding boxes, (n ,4).
|
|
27
27
|
"""
|
|
28
28
|
polygon1 = polygon1.reshape(-1, 4, 2)
|
|
29
|
-
lt_point = np.min(polygon1, axis=-2)
|
|
30
|
-
rb_point = np.max(polygon1, axis=-2)
|
|
29
|
+
lt_point = np.min(polygon1, axis=-2) # left-top
|
|
30
|
+
rb_point = np.max(polygon1, axis=-2) # right-bottom
|
|
31
31
|
bbox1 = np.concatenate([lt_point, rb_point], axis=-1)
|
|
32
32
|
|
|
33
33
|
lt = np.maximum(bbox1[:, None, :2], bbox2[..., :2])
|
|
@@ -35,8 +35,8 @@ def bbox_iof(polygon1, bbox2, eps=1e-6):
|
|
|
35
35
|
wh = np.clip(rb - lt, 0, np.inf)
|
|
36
36
|
h_overlaps = wh[..., 0] * wh[..., 1]
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
polygon2 = np.stack([
|
|
38
|
+
left, top, right, bottom = (bbox2[..., i] for i in range(4))
|
|
39
|
+
polygon2 = np.stack([left, top, right, top, right, bottom, left, bottom], axis=-1).reshape(-1, 4, 2)
|
|
40
40
|
|
|
41
41
|
sg_polys1 = [Polygon(p) for p in polygon1]
|
|
42
42
|
sg_polys2 = [Polygon(p) for p in polygon2]
|
|
@@ -388,7 +388,7 @@ class Exporter:
|
|
|
388
388
|
"""YOLOv8 ONNX export."""
|
|
389
389
|
requirements = ["onnx>=1.12.0"]
|
|
390
390
|
if self.args.simplify:
|
|
391
|
-
requirements += ["onnxslim
|
|
391
|
+
requirements += ["onnxslim>=0.1.31", "onnxruntime" + ("-gpu" if torch.cuda.is_available() else "")]
|
|
392
392
|
check_requirements(requirements)
|
|
393
393
|
import onnx # noqa
|
|
394
394
|
|
|
@@ -827,7 +827,7 @@ class Exporter:
|
|
|
827
827
|
"onnx>=1.12.0",
|
|
828
828
|
"onnx2tf>1.17.5,<=1.22.3",
|
|
829
829
|
"sng4onnx>=1.0.1",
|
|
830
|
-
"onnxslim
|
|
830
|
+
"onnxslim>=0.1.31",
|
|
831
831
|
"onnx_graphsurgeon>=0.3.26",
|
|
832
832
|
"tflite_support<=0.4.3" if IS_JETSON else "tflite_support", # fix ImportError 'GLIBCXX_3.4.29'
|
|
833
833
|
"flatbuffers>=23.5.26,<100", # update old 'flatbuffers' included inside tensorflow package
|
|
@@ -384,8 +384,8 @@ class TinyViTBlock(nn.Module):
|
|
|
384
384
|
convolution.
|
|
385
385
|
"""
|
|
386
386
|
h, w = self.input_resolution
|
|
387
|
-
b,
|
|
388
|
-
assert
|
|
387
|
+
b, hw, c = x.shape # batch, height*width, channels
|
|
388
|
+
assert hw == h * w, "input feature has wrong size"
|
|
389
389
|
res_x = x
|
|
390
390
|
if h == self.window_size and w == self.window_size:
|
|
391
391
|
x = self.attn(x)
|
|
@@ -394,13 +394,13 @@ class TinyViTBlock(nn.Module):
|
|
|
394
394
|
pad_b = (self.window_size - h % self.window_size) % self.window_size
|
|
395
395
|
pad_r = (self.window_size - w % self.window_size) % self.window_size
|
|
396
396
|
padding = pad_b > 0 or pad_r > 0
|
|
397
|
-
|
|
398
397
|
if padding:
|
|
399
398
|
x = F.pad(x, (0, 0, 0, pad_r, 0, pad_b))
|
|
400
399
|
|
|
401
400
|
pH, pW = h + pad_b, w + pad_r
|
|
402
401
|
nH = pH // self.window_size
|
|
403
402
|
nW = pW // self.window_size
|
|
403
|
+
|
|
404
404
|
# Window partition
|
|
405
405
|
x = (
|
|
406
406
|
x.view(b, nH, self.window_size, nW, self.window_size, c)
|
|
@@ -408,19 +408,18 @@ class TinyViTBlock(nn.Module):
|
|
|
408
408
|
.reshape(b * nH * nW, self.window_size * self.window_size, c)
|
|
409
409
|
)
|
|
410
410
|
x = self.attn(x)
|
|
411
|
+
|
|
411
412
|
# Window reverse
|
|
412
413
|
x = x.view(b, nH, nW, self.window_size, self.window_size, c).transpose(2, 3).reshape(b, pH, pW, c)
|
|
413
|
-
|
|
414
414
|
if padding:
|
|
415
415
|
x = x[:, :h, :w].contiguous()
|
|
416
416
|
|
|
417
|
-
x = x.view(b,
|
|
417
|
+
x = x.view(b, hw, c)
|
|
418
418
|
|
|
419
419
|
x = res_x + self.drop_path(x)
|
|
420
|
-
|
|
421
420
|
x = x.transpose(1, 2).reshape(b, c, h, w)
|
|
422
421
|
x = self.local_conv(x)
|
|
423
|
-
x = x.view(b, c,
|
|
422
|
+
x = x.view(b, c, hw).transpose(1, 2)
|
|
424
423
|
|
|
425
424
|
return x + self.drop_path(self.mlp(x))
|
|
426
425
|
|
|
@@ -40,7 +40,6 @@ __all__ = (
|
|
|
40
40
|
"SPPELAN",
|
|
41
41
|
"CBFuse",
|
|
42
42
|
"CBLinear",
|
|
43
|
-
"Silence",
|
|
44
43
|
"RepVGGDW",
|
|
45
44
|
"CIB",
|
|
46
45
|
"C2fCIB",
|
|
@@ -789,7 +788,7 @@ class CIB(nn.Module):
|
|
|
789
788
|
self.cv1 = nn.Sequential(
|
|
790
789
|
Conv(c1, c1, 3, g=c1),
|
|
791
790
|
Conv(c1, 2 * c_, 1),
|
|
792
|
-
Conv(2 * c_, 2 * c_, 3, g=2 * c_)
|
|
791
|
+
RepVGGDW(2 * c_) if lk else Conv(2 * c_, 2 * c_, 3, g=2 * c_),
|
|
793
792
|
Conv(2 * c_, c2, 1),
|
|
794
793
|
Conv(c2, c2, 3, g=c2),
|
|
795
794
|
)
|
|
@@ -110,8 +110,7 @@ class Detect(nn.Module):
|
|
|
110
110
|
else:
|
|
111
111
|
dbox = self.decode_bboxes(self.dfl(box), self.anchors.unsqueeze(0)) * self.strides
|
|
112
112
|
|
|
113
|
-
|
|
114
|
-
return y
|
|
113
|
+
return torch.cat((dbox, cls.sigmoid()), 1)
|
|
115
114
|
|
|
116
115
|
def bias_init(self):
|
|
117
116
|
"""Initialize Detect() biases, WARNING: requires stride availability."""
|
|
@@ -693,7 +693,7 @@ class Ensemble(nn.ModuleList):
|
|
|
693
693
|
|
|
694
694
|
|
|
695
695
|
@contextlib.contextmanager
|
|
696
|
-
def temporary_modules(modules=
|
|
696
|
+
def temporary_modules(modules=None, attributes=None):
|
|
697
697
|
"""
|
|
698
698
|
Context manager for temporarily adding or modifying modules in Python's module cache (`sys.modules`).
|
|
699
699
|
|
|
@@ -718,6 +718,10 @@ def temporary_modules(modules={}, attributes={}):
|
|
|
718
718
|
applications or libraries. Use this function with caution.
|
|
719
719
|
"""
|
|
720
720
|
|
|
721
|
+
if modules is None:
|
|
722
|
+
modules = {}
|
|
723
|
+
if attributes is None:
|
|
724
|
+
attributes = {}
|
|
721
725
|
import sys
|
|
722
726
|
from importlib import import_module
|
|
723
727
|
|
|
@@ -1070,7 +1070,7 @@ TESTS_RUNNING = is_pytest_running() or is_github_action_running()
|
|
|
1070
1070
|
set_sentry()
|
|
1071
1071
|
|
|
1072
1072
|
# Apply monkey patches
|
|
1073
|
-
from .patches import imread, imshow, imwrite, torch_save
|
|
1073
|
+
from ultralytics.utils.patches import imread, imshow, imwrite, torch_save
|
|
1074
1074
|
|
|
1075
1075
|
torch.save = torch_save
|
|
1076
1076
|
if WINDOWS:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.39
|
|
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
|
|
@@ -122,7 +122,7 @@ To request an Enterprise License please complete the form at [Ultralytics Licens
|
|
|
122
122
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space">
|
|
123
123
|
<a href="https://www.tiktok.com/@ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-tiktok.png" width="2%" alt="Ultralytics TikTok"></a>
|
|
124
124
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space">
|
|
125
|
-
<a href="https://
|
|
125
|
+
<a href="https://ultralytics.com/bilibili"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-bilibili.png" width="2%" alt="Ultralytics BiliBili"></a>
|
|
126
126
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="2%" alt="space">
|
|
127
127
|
<a href="https://ultralytics.com/discord"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-discord.png" width="2%" alt="Ultralytics Discord"></a>
|
|
128
128
|
</div>
|
|
@@ -313,7 +313,7 @@ See [Classification Docs](https://docs.ultralytics.com/tasks/classify/) for usag
|
|
|
313
313
|
Our key integrations with leading AI platforms extend the functionality of Ultralytics' offerings, enhancing tasks like dataset labeling, training, visualization, and model management. Discover how Ultralytics, in collaboration with [Roboflow](https://roboflow.com/?ref=ultralytics), ClearML, [Comet](https://bit.ly/yolov8-readme-comet), Neural Magic and [OpenVINO](https://docs.ultralytics.com/integrations/openvino), can optimize your AI workflow.
|
|
314
314
|
|
|
315
315
|
<br>
|
|
316
|
-
<a href="https://
|
|
316
|
+
<a href="https://ultralytics.com/hub" target="_blank">
|
|
317
317
|
<img width="100%" src="https://github.com/ultralytics/assets/raw/main/yolov8/banner-integrations.png" alt="Ultralytics active learning integrations"></a>
|
|
318
318
|
<br>
|
|
319
319
|
<br>
|
|
@@ -338,9 +338,9 @@ Our key integrations with leading AI platforms extend the functionality of Ultra
|
|
|
338
338
|
|
|
339
339
|
## <div align="center">Ultralytics HUB</div>
|
|
340
340
|
|
|
341
|
-
Experience seamless AI with [Ultralytics HUB](https://
|
|
341
|
+
Experience seamless AI with [Ultralytics HUB](https://ultralytics.com/hub) ⭐, the all-in-one solution for data visualization, YOLOv5 and YOLOv8 🚀 model training and deployment, without any coding. Transform images into actionable insights and bring your AI visions to life with ease using our cutting-edge platform and user-friendly [Ultralytics App](https://ultralytics.com/app_install). Start your journey for **Free** now!
|
|
342
342
|
|
|
343
|
-
<a href="https://
|
|
343
|
+
<a href="https://ultralytics.com/hub" target="_blank">
|
|
344
344
|
<img width="100%" src="https://github.com/ultralytics/assets/raw/main/im/ultralytics-hub.png" alt="Ultralytics HUB preview image"></a>
|
|
345
345
|
|
|
346
346
|
## <div align="center">Contribute</div>
|
|
@@ -375,7 +375,7 @@ For Ultralytics bug reports and feature requests please visit [GitHub Issues](ht
|
|
|
375
375
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space">
|
|
376
376
|
<a href="https://www.tiktok.com/@ultralytics"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-tiktok.png" width="3%" alt="Ultralytics TikTok"></a>
|
|
377
377
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space">
|
|
378
|
-
<a href="https://
|
|
378
|
+
<a href="https://ultralytics.com/bilibili"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-bilibili.png" width="3%" alt="Ultralytics BiliBili"></a>
|
|
379
379
|
<img src="https://github.com/ultralytics/assets/raw/main/social/logo-transparent.png" width="3%" alt="space">
|
|
380
380
|
<a href="https://ultralytics.com/discord"><img src="https://github.com/ultralytics/assets/raw/main/social/logo-social-discord.png" width="3%" alt="Ultralytics Discord"></a>
|
|
381
381
|
</div>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.38 → ultralytics-8.2.39}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
|
File without changes
|
{ultralytics-8.2.38 → ultralytics-8.2.39}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|