ultralytics 8.2.33__tar.gz → 8.2.35__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.33 → ultralytics-8.2.35}/PKG-INFO +3 -3
- {ultralytics-8.2.33 → ultralytics-8.2.35}/pyproject.toml +2 -2
- {ultralytics-8.2.33 → ultralytics-8.2.35}/tests/test_cuda.py +1 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/__init__.py +1 -1
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/lvis.yaml +4 -8
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +1 -1
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v9/yolov9e.yaml +1 -1
- ultralytics-8.2.35/ultralytics/cfg/models/v9/yolov9m.yaml +38 -0
- ultralytics-8.2.35/ultralytics/cfg/models/v9/yolov9s.yaml +38 -0
- ultralytics-8.2.35/ultralytics/cfg/models/v9/yolov9t.yaml +38 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/explorer/gui/dash.py +1 -1
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/nn/modules/__init__.py +4 -2
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/nn/modules/block.py +29 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/nn/tasks.py +10 -2
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/callbacks/mlflow.py +6 -4
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics.egg-info/PKG-INFO +3 -3
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics.egg-info/SOURCES.txt +3 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics.egg-info/requires.txt +2 -2
- {ultralytics-8.2.33 → ultralytics-8.2.35}/LICENSE +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/README.md +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/setup.cfg +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/tests/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/tests/conftest.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/tests/test_cli.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/tests/test_engine.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/tests/test_explorer.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/tests/test_exports.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/tests/test_integrations.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/tests/test_python.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/signature.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/default.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/base.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/build.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/explorer/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/explorer/explorer.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/explorer/gui/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/explorer/utils.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/engine/trainer.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/engine/validator.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/fastsam/prompt.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/nn/autobackend.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/solutions/analytics.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/solutions/parking_management.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/benchmarks.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/checks.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/plotting.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/torch_utils.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.2.33 → ultralytics-8.2.35}/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.35
|
|
4
4
|
Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
|
5
5
|
Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
6
6
|
Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
@@ -44,7 +44,7 @@ Requires-Dist: psutil
|
|
|
44
44
|
Requires-Dist: py-cpuinfo
|
|
45
45
|
Requires-Dist: pandas>=1.1.4
|
|
46
46
|
Requires-Dist: seaborn>=0.11.0
|
|
47
|
-
Requires-Dist: ultralytics-thop>=0.
|
|
47
|
+
Requires-Dist: ultralytics-thop>=2.0.0
|
|
48
48
|
Provides-Extra: dev
|
|
49
49
|
Requires-Dist: ipython; extra == "dev"
|
|
50
50
|
Requires-Dist: check-manifest; extra == "dev"
|
|
@@ -57,7 +57,7 @@ Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
|
|
|
57
57
|
Requires-Dist: mkdocstrings[python]; extra == "dev"
|
|
58
58
|
Requires-Dist: mkdocs-jupyter; extra == "dev"
|
|
59
59
|
Requires-Dist: mkdocs-redirects; extra == "dev"
|
|
60
|
-
Requires-Dist: mkdocs-ultralytics-plugin>=0.0.
|
|
60
|
+
Requires-Dist: mkdocs-ultralytics-plugin>=0.0.48; extra == "dev"
|
|
61
61
|
Provides-Extra: export
|
|
62
62
|
Requires-Dist: onnx>=1.12.0; extra == "export"
|
|
63
63
|
Requires-Dist: coremltools>=7.0; (platform_system != "Windows" and python_version <= "3.11") and extra == "export"
|
|
@@ -78,7 +78,7 @@ dependencies = [
|
|
|
78
78
|
"py-cpuinfo", # display CPU info
|
|
79
79
|
"pandas>=1.1.4",
|
|
80
80
|
"seaborn>=0.11.0", # plotting
|
|
81
|
-
"ultralytics-thop>=0.
|
|
81
|
+
"ultralytics-thop>=2.0.0", # FLOPs computation https://github.com/ultralytics/thop
|
|
82
82
|
]
|
|
83
83
|
|
|
84
84
|
# Optional dependencies ------------------------------------------------------------------------------------------------
|
|
@@ -95,7 +95,7 @@ dev = [
|
|
|
95
95
|
"mkdocstrings[python]",
|
|
96
96
|
"mkdocs-jupyter", # for notebooks
|
|
97
97
|
"mkdocs-redirects", # for 301 redirects
|
|
98
|
-
"mkdocs-ultralytics-plugin>=0.0.
|
|
98
|
+
"mkdocs-ultralytics-plugin>=0.0.48", # for meta descriptions and images, dates and authors
|
|
99
99
|
]
|
|
100
100
|
export = [
|
|
101
101
|
"onnx>=1.12.0", # ONNX export
|
|
@@ -19,6 +19,7 @@ def test_checks():
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
@pytest.mark.slow
|
|
22
|
+
@pytest.mark.skipif(True, reason="CUDA export tests disabled pending additional Ultralytics GPU server availability")
|
|
22
23
|
@pytest.mark.skipif(not CUDA_IS_AVAILABLE, reason="CUDA is not available")
|
|
23
24
|
@pytest.mark.parametrize(
|
|
24
25
|
"task, dynamic, int8, half, batch",
|
|
@@ -221,8 +221,7 @@ names:
|
|
|
221
221
|
204: cape
|
|
222
222
|
205: cappuccino/coffee cappuccino
|
|
223
223
|
206: car/car automobile/auto/auto automobile/automobile
|
|
224
|
-
207: railcar/railcar part of a train/railway car/railway car part of a train/railroad
|
|
225
|
-
car/railroad car part of a train
|
|
224
|
+
207: railcar/railcar part of a train/railway car/railway car part of a train/railroad car/railroad car part of a train
|
|
226
225
|
208: elevator car
|
|
227
226
|
209: car battery/automobile battery
|
|
228
227
|
210: identity card
|
|
@@ -241,8 +240,7 @@ names:
|
|
|
241
240
|
223: cast/plaster cast/plaster bandage
|
|
242
241
|
224: cat
|
|
243
242
|
225: cauliflower
|
|
244
|
-
226: cayenne/cayenne spice/cayenne pepper/cayenne pepper spice/red pepper/red pepper
|
|
245
|
-
spice
|
|
243
|
+
226: cayenne/cayenne spice/cayenne pepper/cayenne pepper spice/red pepper/red pepper spice
|
|
246
244
|
227: CD player
|
|
247
245
|
228: celery
|
|
248
246
|
229: cellular telephone/cellular phone/cellphone/mobile phone/smart phone
|
|
@@ -258,8 +256,7 @@ names:
|
|
|
258
256
|
239: chessboard
|
|
259
257
|
240: chicken/chicken animal
|
|
260
258
|
241: chickpea/garbanzo
|
|
261
|
-
242: chili/chili vegetable/chili pepper/chili pepper vegetable/chilli/chilli vegetable/chilly/chilly
|
|
262
|
-
vegetable/chile/chile vegetable
|
|
259
|
+
242: chili/chili vegetable/chili pepper/chili pepper vegetable/chilli/chilli vegetable/chilly/chilly vegetable/chile/chile vegetable
|
|
263
260
|
243: chime/gong
|
|
264
261
|
244: chinaware
|
|
265
262
|
245: crisp/crisp potato chip/potato chip
|
|
@@ -1061,8 +1058,7 @@ names:
|
|
|
1061
1058
|
1041: sweater
|
|
1062
1059
|
1042: sweatshirt
|
|
1063
1060
|
1043: sweet potato
|
|
1064
|
-
1044: swimsuit/swimwear/bathing suit/swimming costume/bathing costume/swimming trunks/bathing
|
|
1065
|
-
trunks
|
|
1061
|
+
1044: swimsuit/swimwear/bathing suit/swimming costume/bathing costume/swimming trunks/bathing trunks
|
|
1066
1062
|
1045: sword
|
|
1067
1063
|
1046: syringe
|
|
1068
1064
|
1047: Tabasco sauce
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Ultralytics YOLO 🚀, AGPL-3.0 license
|
|
2
|
+
# YOLOv9t
|
|
3
|
+
# 603 layers, 20216160 parameters, 77.9 GFLOPs
|
|
4
|
+
|
|
5
|
+
# parameters
|
|
6
|
+
nc: 80 # number of classes
|
|
7
|
+
|
|
8
|
+
# gelan backbone
|
|
9
|
+
backbone:
|
|
10
|
+
- [-1, 1, Conv, [32, 3, 2]] # 0-P1/2
|
|
11
|
+
- [-1, 1, Conv, [64, 3, 2]] # 1-P2/4
|
|
12
|
+
- [-1, 1, RepNCSPELAN4, [128, 128, 64, 1]] # 2
|
|
13
|
+
- [-1, 1, AConv, [240]] # 3-P3/8
|
|
14
|
+
- [-1, 1, RepNCSPELAN4, [240, 240, 120, 1]] # 4
|
|
15
|
+
- [-1, 1, AConv, [360]] # 5-P4/16
|
|
16
|
+
- [-1, 1, RepNCSPELAN4, [360, 360, 180, 1]] # 6
|
|
17
|
+
- [-1, 1, AConv, [480]] # 7-P5/32
|
|
18
|
+
- [-1, 1, RepNCSPELAN4, [480, 480, 240, 1]] # 8
|
|
19
|
+
- [-1, 1, SPPELAN, [480, 240]] # 9
|
|
20
|
+
|
|
21
|
+
head:
|
|
22
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
|
23
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
|
24
|
+
- [-1, 1, RepNCSPELAN4, [360, 360, 180, 1]] # 12
|
|
25
|
+
|
|
26
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
|
27
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
|
28
|
+
- [-1, 1, RepNCSPELAN4, [240, 240, 120, 1]] # 15
|
|
29
|
+
|
|
30
|
+
- [-1, 1, AConv, [180]]
|
|
31
|
+
- [[-1, 12], 1, Concat, [1]] # cat head P4
|
|
32
|
+
- [-1, 1, RepNCSPELAN4, [360, 360, 180, 1]] # 18 (P4/16-medium)
|
|
33
|
+
|
|
34
|
+
- [-1, 1, AConv, [240]]
|
|
35
|
+
- [[-1, 9], 1, Concat, [1]] # cat head P5
|
|
36
|
+
- [-1, 1, RepNCSPELAN4, [480, 480, 240, 1]] # 21 (P5/32-large)
|
|
37
|
+
|
|
38
|
+
- [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Ultralytics YOLO 🚀, AGPL-3.0 license
|
|
2
|
+
# YOLOv9s
|
|
3
|
+
# 917 layers, 7318368 parameters, 27.6 GFLOPs
|
|
4
|
+
|
|
5
|
+
# parameters
|
|
6
|
+
nc: 80 # number of classes
|
|
7
|
+
|
|
8
|
+
# gelan backbone
|
|
9
|
+
backbone:
|
|
10
|
+
- [-1, 1, Conv, [32, 3, 2]] # 0-P1/2
|
|
11
|
+
- [-1, 1, Conv, [64, 3, 2]] # 1-P2/4
|
|
12
|
+
- [-1, 1, ELAN1, [64, 64, 32]] # 2
|
|
13
|
+
- [-1, 1, AConv, [128]] # 3-P3/8
|
|
14
|
+
- [-1, 1, RepNCSPELAN4, [128, 128, 64, 3]] # 4
|
|
15
|
+
- [-1, 1, AConv, [192]] # 5-P4/16
|
|
16
|
+
- [-1, 1, RepNCSPELAN4, [192, 192, 96, 3]] # 6
|
|
17
|
+
- [-1, 1, AConv, [256]] # 7-P5/32
|
|
18
|
+
- [-1, 1, RepNCSPELAN4, [256, 256, 128, 3]] # 8
|
|
19
|
+
- [-1, 1, SPPELAN, [256, 128]] # 9
|
|
20
|
+
|
|
21
|
+
head:
|
|
22
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
|
23
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
|
24
|
+
- [-1, 1, RepNCSPELAN4, [192, 192, 96, 3]] # 12
|
|
25
|
+
|
|
26
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
|
27
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
|
28
|
+
- [-1, 1, RepNCSPELAN4, [128, 128, 64, 3]] # 15
|
|
29
|
+
|
|
30
|
+
- [-1, 1, AConv, [96]]
|
|
31
|
+
- [[-1, 12], 1, Concat, [1]] # cat head P4
|
|
32
|
+
- [-1, 1, RepNCSPELAN4, [192, 192, 96, 3]] # 18 (P4/16-medium)
|
|
33
|
+
|
|
34
|
+
- [-1, 1, AConv, [128]]
|
|
35
|
+
- [[-1, 9], 1, Concat, [1]] # cat head P5
|
|
36
|
+
- [-1, 1, RepNCSPELAN4, [256, 256, 128, 3]] # 21 (P5/32-large)
|
|
37
|
+
|
|
38
|
+
- [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4 P5)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Ultralytics YOLO 🚀, AGPL-3.0 license
|
|
2
|
+
# YOLOv9t
|
|
3
|
+
# 917 layers, 2128720 parameters, 8.5 GFLOPs
|
|
4
|
+
|
|
5
|
+
# parameters
|
|
6
|
+
nc: 80 # number of classes
|
|
7
|
+
|
|
8
|
+
# gelan backbone
|
|
9
|
+
backbone:
|
|
10
|
+
- [-1, 1, Conv, [16, 3, 2]] # 0-P1/2
|
|
11
|
+
- [-1, 1, Conv, [32, 3, 2]] # 1-P2/4
|
|
12
|
+
- [-1, 1, ELAN1, [32, 32, 16]] # 2
|
|
13
|
+
- [-1, 1, AConv, [64]] # 3-P3/8
|
|
14
|
+
- [-1, 1, RepNCSPELAN4, [64, 64, 32, 3]] # 4
|
|
15
|
+
- [-1, 1, AConv, [96]] # 5-P4/16
|
|
16
|
+
- [-1, 1, RepNCSPELAN4, [96, 96, 48, 3]] # 6
|
|
17
|
+
- [-1, 1, AConv, [128]] # 7-P5/32
|
|
18
|
+
- [-1, 1, RepNCSPELAN4, [128, 128, 64, 3]] # 8
|
|
19
|
+
- [-1, 1, SPPELAN, [128, 64]] # 9
|
|
20
|
+
|
|
21
|
+
head:
|
|
22
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
|
23
|
+
- [[-1, 6], 1, Concat, [1]] # cat backbone P4
|
|
24
|
+
- [-1, 1, RepNCSPELAN4, [96, 96, 48, 3]] # 12
|
|
25
|
+
|
|
26
|
+
- [-1, 1, nn.Upsample, [None, 2, "nearest"]]
|
|
27
|
+
- [[-1, 4], 1, Concat, [1]] # cat backbone P3
|
|
28
|
+
- [-1, 1, RepNCSPELAN4, [64, 64, 32, 3]] # 15
|
|
29
|
+
|
|
30
|
+
- [-1, 1, AConv, [48]]
|
|
31
|
+
- [[-1, 12], 1, Concat, [1]] # cat head P4
|
|
32
|
+
- [-1, 1, RepNCSPELAN4, [96, 96, 48, 3]] # 18 (P4/16-medium)
|
|
33
|
+
|
|
34
|
+
- [-1, 1, AConv, [64]]
|
|
35
|
+
- [[-1, 9], 1, Concat, [1]] # cat head P5
|
|
36
|
+
- [-1, 1, RepNCSPELAN4, [128, 128, 64, 3]] # 21 (P5/32-large)
|
|
37
|
+
|
|
38
|
+
- [[15, 18, 21], 1, Detect, [nc]] # Detect(P3, P4, P5)
|
|
@@ -259,7 +259,7 @@ def layout():
|
|
|
259
259
|
|
|
260
260
|
with col2:
|
|
261
261
|
similarity_form(selected_imgs)
|
|
262
|
-
|
|
262
|
+
st.checkbox("Labels", value=False, key="display_labels")
|
|
263
263
|
utralytics_explorer_docs_callback()
|
|
264
264
|
|
|
265
265
|
|
|
@@ -23,9 +23,11 @@ from .block import (
|
|
|
23
23
|
C3,
|
|
24
24
|
C3TR,
|
|
25
25
|
DFL,
|
|
26
|
+
ELAN1,
|
|
26
27
|
SPP,
|
|
27
28
|
SPPELAN,
|
|
28
29
|
SPPF,
|
|
30
|
+
AConv,
|
|
29
31
|
ADown,
|
|
30
32
|
BNContrastiveHead,
|
|
31
33
|
Bottleneck,
|
|
@@ -45,7 +47,6 @@ from .block import (
|
|
|
45
47
|
RepC3,
|
|
46
48
|
RepNCSPELAN4,
|
|
47
49
|
ResNetLayer,
|
|
48
|
-
Silence,
|
|
49
50
|
)
|
|
50
51
|
from .conv import (
|
|
51
52
|
CBAM,
|
|
@@ -134,5 +135,6 @@ __all__ = (
|
|
|
134
135
|
"SPPELAN",
|
|
135
136
|
"CBFuse",
|
|
136
137
|
"CBLinear",
|
|
137
|
-
"
|
|
138
|
+
"AConv",
|
|
139
|
+
"ELAN1",
|
|
138
140
|
)
|
|
@@ -32,7 +32,9 @@ __all__ = (
|
|
|
32
32
|
"RepC3",
|
|
33
33
|
"ResNetLayer",
|
|
34
34
|
"RepNCSPELAN4",
|
|
35
|
+
"ELAN1",
|
|
35
36
|
"ADown",
|
|
37
|
+
"AConv",
|
|
36
38
|
"SPPELAN",
|
|
37
39
|
"CBFuse",
|
|
38
40
|
"CBLinear",
|
|
@@ -603,6 +605,33 @@ class RepNCSPELAN4(nn.Module):
|
|
|
603
605
|
return self.cv4(torch.cat(y, 1))
|
|
604
606
|
|
|
605
607
|
|
|
608
|
+
class ELAN1(RepNCSPELAN4):
|
|
609
|
+
"""ELAN1 module with 4 convolutions."""
|
|
610
|
+
|
|
611
|
+
def __init__(self, c1, c2, c3, c4):
|
|
612
|
+
"""Initializes ELAN1 layer with specified channel sizes."""
|
|
613
|
+
super().__init__(c1, c2, c3, c4)
|
|
614
|
+
self.c = c3 // 2
|
|
615
|
+
self.cv1 = Conv(c1, c3, 1, 1)
|
|
616
|
+
self.cv2 = Conv(c3 // 2, c4, 3, 1)
|
|
617
|
+
self.cv3 = Conv(c4, c4, 3, 1)
|
|
618
|
+
self.cv4 = Conv(c3 + (2 * c4), c2, 1, 1)
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
class AConv(nn.Module):
|
|
622
|
+
"""AConv."""
|
|
623
|
+
|
|
624
|
+
def __init__(self, c1, c2):
|
|
625
|
+
"""Initializes AConv module with convolution layers."""
|
|
626
|
+
super().__init__()
|
|
627
|
+
self.cv1 = Conv(c1, c2, 3, 2, 1)
|
|
628
|
+
|
|
629
|
+
def forward(self, x):
|
|
630
|
+
"""Forward pass through AConv layer."""
|
|
631
|
+
x = torch.nn.functional.avg_pool2d(x, 2, 1, 0, False, True)
|
|
632
|
+
return self.cv1(x)
|
|
633
|
+
|
|
634
|
+
|
|
606
635
|
class ADown(nn.Module):
|
|
607
636
|
"""ADown."""
|
|
608
637
|
|
|
@@ -13,10 +13,12 @@ from ultralytics.nn.modules import (
|
|
|
13
13
|
C2,
|
|
14
14
|
C3,
|
|
15
15
|
C3TR,
|
|
16
|
+
ELAN1,
|
|
16
17
|
OBB,
|
|
17
18
|
SPP,
|
|
18
19
|
SPPELAN,
|
|
19
20
|
SPPF,
|
|
21
|
+
AConv,
|
|
20
22
|
ADown,
|
|
21
23
|
Bottleneck,
|
|
22
24
|
BottleneckCSP,
|
|
@@ -292,8 +294,12 @@ class DetectionModel(BaseModel):
|
|
|
292
294
|
if isinstance(m, Detect): # includes all Detect subclasses like Segment, Pose, OBB, WorldDetect
|
|
293
295
|
s = 256 # 2x min stride
|
|
294
296
|
m.inplace = self.inplace
|
|
295
|
-
|
|
296
|
-
|
|
297
|
+
|
|
298
|
+
def _forward(x):
|
|
299
|
+
"""Performs a forward pass through the model, handling different Detect subclass types accordingly."""
|
|
300
|
+
return self.forward(x)[0] if isinstance(m, (Segment, Pose, OBB)) else self.forward(x)
|
|
301
|
+
|
|
302
|
+
m.stride = torch.tensor([s / x.shape[-2] for x in _forward(torch.zeros(1, ch, s, s))]) # forward
|
|
297
303
|
self.stride = m.stride
|
|
298
304
|
m.bias_init() # only run once
|
|
299
305
|
else:
|
|
@@ -874,7 +880,9 @@ def parse_model(d, ch, verbose=True): # model_dict, input_channels(3)
|
|
|
874
880
|
C2,
|
|
875
881
|
C2f,
|
|
876
882
|
RepNCSPELAN4,
|
|
883
|
+
ELAN1,
|
|
877
884
|
ADown,
|
|
885
|
+
AConv,
|
|
878
886
|
SPPELAN,
|
|
879
887
|
C2fAttn,
|
|
880
888
|
C3,
|
|
@@ -34,11 +34,13 @@ try:
|
|
|
34
34
|
from pathlib import Path
|
|
35
35
|
|
|
36
36
|
PREFIX = colorstr("MLflow: ")
|
|
37
|
-
SANITIZE = lambda x: {k.replace("(", "").replace(")", ""): float(v) for k, v in x.items()}
|
|
38
37
|
|
|
39
38
|
except (ImportError, AssertionError):
|
|
40
39
|
mlflow = None
|
|
41
40
|
|
|
41
|
+
def sanitize_dict(x):
|
|
42
|
+
"""Sanitize dictionary keys by removing parentheses and converting values to floats."""
|
|
43
|
+
return {k.replace("(", "").replace(")", ""): float(v) for k, v in x.items()}
|
|
42
44
|
|
|
43
45
|
def on_pretrain_routine_end(trainer):
|
|
44
46
|
"""
|
|
@@ -88,8 +90,8 @@ def on_train_epoch_end(trainer):
|
|
|
88
90
|
if mlflow:
|
|
89
91
|
mlflow.log_metrics(
|
|
90
92
|
metrics={
|
|
91
|
-
**
|
|
92
|
-
**
|
|
93
|
+
**sanitize_dict(trainer.lr),
|
|
94
|
+
**sanitize_dict(trainer.label_loss_items(trainer.tloss, prefix="train")),
|
|
93
95
|
},
|
|
94
96
|
step=trainer.epoch,
|
|
95
97
|
)
|
|
@@ -98,7 +100,7 @@ def on_train_epoch_end(trainer):
|
|
|
98
100
|
def on_fit_epoch_end(trainer):
|
|
99
101
|
"""Log training metrics at the end of each fit epoch to MLflow."""
|
|
100
102
|
if mlflow:
|
|
101
|
-
mlflow.log_metrics(metrics=
|
|
103
|
+
mlflow.log_metrics(metrics=sanitize_dict(trainer.metrics), step=trainer.epoch)
|
|
102
104
|
|
|
103
105
|
|
|
104
106
|
def on_train_end(trainer):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.35
|
|
4
4
|
Summary: Ultralytics YOLOv8 for SOTA object detection, multi-object tracking, instance segmentation, pose estimation and image classification.
|
|
5
5
|
Author: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
6
6
|
Maintainer: Glenn Jocher, Ayush Chaurasia, Jing Qiu
|
|
@@ -44,7 +44,7 @@ Requires-Dist: psutil
|
|
|
44
44
|
Requires-Dist: py-cpuinfo
|
|
45
45
|
Requires-Dist: pandas>=1.1.4
|
|
46
46
|
Requires-Dist: seaborn>=0.11.0
|
|
47
|
-
Requires-Dist: ultralytics-thop>=0.
|
|
47
|
+
Requires-Dist: ultralytics-thop>=2.0.0
|
|
48
48
|
Provides-Extra: dev
|
|
49
49
|
Requires-Dist: ipython; extra == "dev"
|
|
50
50
|
Requires-Dist: check-manifest; extra == "dev"
|
|
@@ -57,7 +57,7 @@ Requires-Dist: mkdocs-material>=9.5.9; extra == "dev"
|
|
|
57
57
|
Requires-Dist: mkdocstrings[python]; extra == "dev"
|
|
58
58
|
Requires-Dist: mkdocs-jupyter; extra == "dev"
|
|
59
59
|
Requires-Dist: mkdocs-redirects; extra == "dev"
|
|
60
|
-
Requires-Dist: mkdocs-ultralytics-plugin>=0.0.
|
|
60
|
+
Requires-Dist: mkdocs-ultralytics-plugin>=0.0.48; extra == "dev"
|
|
61
61
|
Provides-Extra: export
|
|
62
62
|
Requires-Dist: onnx>=1.12.0; extra == "export"
|
|
63
63
|
Requires-Dist: coremltools>=7.0; (platform_system != "Windows" and python_version <= "3.11") and extra == "export"
|
|
@@ -86,6 +86,9 @@ ultralytics/cfg/models/v9/yolov9c-seg.yaml
|
|
|
86
86
|
ultralytics/cfg/models/v9/yolov9c.yaml
|
|
87
87
|
ultralytics/cfg/models/v9/yolov9e-seg.yaml
|
|
88
88
|
ultralytics/cfg/models/v9/yolov9e.yaml
|
|
89
|
+
ultralytics/cfg/models/v9/yolov9m.yaml
|
|
90
|
+
ultralytics/cfg/models/v9/yolov9s.yaml
|
|
91
|
+
ultralytics/cfg/models/v9/yolov9t.yaml
|
|
89
92
|
ultralytics/cfg/trackers/botsort.yaml
|
|
90
93
|
ultralytics/cfg/trackers/bytetrack.yaml
|
|
91
94
|
ultralytics/data/__init__.py
|
|
@@ -12,7 +12,7 @@ psutil
|
|
|
12
12
|
py-cpuinfo
|
|
13
13
|
pandas>=1.1.4
|
|
14
14
|
seaborn>=0.11.0
|
|
15
|
-
ultralytics-thop>=0.
|
|
15
|
+
ultralytics-thop>=2.0.0
|
|
16
16
|
|
|
17
17
|
[dev]
|
|
18
18
|
ipython
|
|
@@ -26,7 +26,7 @@ mkdocs-material>=9.5.9
|
|
|
26
26
|
mkdocstrings[python]
|
|
27
27
|
mkdocs-jupyter
|
|
28
28
|
mkdocs-redirects
|
|
29
|
-
mkdocs-ultralytics-plugin>=0.0.
|
|
29
|
+
mkdocs-ultralytics-plugin>=0.0.48
|
|
30
30
|
|
|
31
31
|
[explorer]
|
|
32
32
|
lancedb
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.33 → ultralytics-8.2.35}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
|
File without changes
|
{ultralytics-8.2.33 → ultralytics-8.2.35}/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.2.33 → ultralytics-8.2.35}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml
RENAMED
|
File without changes
|
{ultralytics-8.2.33 → ultralytics-8.2.35}/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
|