ultralytics 8.2.1__tar.gz → 8.2.3__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.1/ultralytics.egg-info → ultralytics-8.2.3}/PKG-INFO +2 -2
- {ultralytics-8.2.1 → ultralytics-8.2.3}/README.md +1 -1
- {ultralytics-8.2.1 → ultralytics-8.2.3}/tests/test_explorer.py +9 -9
- {ultralytics-8.2.1 → ultralytics-8.2.3}/tests/test_python.py +17 -11
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/__init__.py +1 -1
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/__init__.py +2 -2
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/default.yaml +1 -1
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/engine/trainer.py +1 -1
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/engine/validator.py +1 -1
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/nn/autobackend.py +5 -2
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/__init__.py +3 -3
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/benchmarks.py +132 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/plotting.py +1 -6
- {ultralytics-8.2.1 → ultralytics-8.2.3/ultralytics.egg-info}/PKG-INFO +2 -2
- {ultralytics-8.2.1 → ultralytics-8.2.3}/LICENSE +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/pyproject.toml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/setup.cfg +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/tests/test_cli.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/tests/test_cuda.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/tests/test_engine.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/tests/test_integrations.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/assets/bus.jpg +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/assets/zidane.jpg +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/Argoverse.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/DOTAv1.5.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/DOTAv1.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/GlobalWheat2020.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/ImageNet.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/Objects365.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/SKU-110K.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/VOC.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/VisDrone.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/african-wildlife.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/brain-tumor.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/carparts-seg.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/coco-pose.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/coco.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/coco128-seg.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/coco128.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/coco8-pose.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/coco8-seg.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/coco8.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/crack-seg.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/dota8.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/lvis.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/open-images-v7.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/package-seg.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/tiger-pose.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/datasets/xView.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/rt-detr/rtdetr-l.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/rt-detr/rtdetr-resnet50.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/rt-detr/rtdetr-x.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v3/yolov3-spp.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v3/yolov3-tiny.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v3/yolov3.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v5/yolov5-p6.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v5/yolov5.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v6/yolov6.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-cls-resnet101.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-cls-resnet50.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-cls.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-ghost-p2.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-ghost-p6.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-ghost.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-obb.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-p2.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-p6.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-pose-p6.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-pose.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-rtdetr.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-seg-p6.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-seg.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-world.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8-worldv2.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v8/yolov8.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v9/yolov9c-seg.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v9/yolov9c.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v9/yolov9e-seg.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/models/v9/yolov9e.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/trackers/botsort.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/cfg/trackers/bytetrack.yaml +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/annotator.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/augment.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/base.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/build.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/converter.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/dataset.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/explorer/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/explorer/explorer.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/explorer/gui/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/explorer/gui/dash.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/explorer/utils.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/loaders.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/split_dota.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/data/utils.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/engine/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/engine/exporter.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/engine/model.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/engine/predictor.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/engine/results.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/engine/tuner.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/hub/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/hub/auth.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/hub/session.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/hub/utils.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/fastsam/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/fastsam/model.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/fastsam/predict.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/fastsam/prompt.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/fastsam/utils.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/fastsam/val.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/nas/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/nas/model.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/nas/predict.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/nas/val.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/rtdetr/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/rtdetr/model.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/rtdetr/predict.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/rtdetr/train.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/rtdetr/val.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/sam/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/sam/amg.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/sam/build.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/sam/model.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/sam/modules/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/sam/modules/decoders.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/sam/modules/encoders.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/sam/modules/sam.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/sam/modules/tiny_encoder.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/sam/modules/transformer.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/sam/predict.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/utils/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/utils/loss.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/utils/ops.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/classify/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/classify/predict.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/classify/train.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/classify/val.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/detect/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/detect/predict.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/detect/train.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/detect/val.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/model.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/obb/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/obb/predict.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/obb/train.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/obb/val.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/pose/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/pose/predict.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/pose/train.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/pose/val.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/segment/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/segment/predict.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/segment/train.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/segment/val.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/world/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/world/train.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/models/yolo/world/train_world.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/nn/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/nn/modules/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/nn/modules/block.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/nn/modules/conv.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/nn/modules/head.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/nn/modules/transformer.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/nn/modules/utils.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/nn/tasks.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/solutions/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/solutions/ai_gym.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/solutions/distance_calculation.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/solutions/heatmap.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/solutions/object_counter.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/solutions/queue_management.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/solutions/speed_estimation.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/trackers/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/trackers/basetrack.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/trackers/bot_sort.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/trackers/byte_tracker.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/trackers/track.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/trackers/utils/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/trackers/utils/gmc.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/trackers/utils/kalman_filter.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/trackers/utils/matching.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/autobatch.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/callbacks/__init__.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/callbacks/base.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/callbacks/clearml.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/callbacks/comet.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/callbacks/dvc.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/callbacks/hub.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/callbacks/mlflow.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/callbacks/neptune.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/callbacks/raytune.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/callbacks/tensorboard.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/callbacks/wb.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/checks.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/dist.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/downloads.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/errors.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/files.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/instance.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/loss.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/metrics.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/ops.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/patches.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/tal.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/torch_utils.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/triton.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics/utils/tuner.py +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics.egg-info/SOURCES.txt +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics.egg-info/dependency_links.txt +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics.egg-info/entry_points.txt +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/ultralytics.egg-info/requires.txt +0 -0
- {ultralytics-8.2.1 → ultralytics-8.2.3}/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.3
|
|
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
|
|
@@ -168,7 +168,7 @@ model = YOLO("yolov8n.yaml") # build a new model from scratch
|
|
|
168
168
|
model = YOLO("yolov8n.pt") # load a pretrained model (recommended for training)
|
|
169
169
|
|
|
170
170
|
# Use the model
|
|
171
|
-
model.train(data="
|
|
171
|
+
model.train(data="coco8.yaml", epochs=3) # train the model
|
|
172
172
|
metrics = model.val() # evaluate model performance on the validation set
|
|
173
173
|
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
|
|
174
174
|
path = model.export(format="onnx") # export the model to ONNX format
|
|
@@ -88,7 +88,7 @@ model = YOLO("yolov8n.yaml") # build a new model from scratch
|
|
|
88
88
|
model = YOLO("yolov8n.pt") # load a pretrained model (recommended for training)
|
|
89
89
|
|
|
90
90
|
# Use the model
|
|
91
|
-
model.train(data="
|
|
91
|
+
model.train(data="coco8.yaml", epochs=3) # train the model
|
|
92
92
|
metrics = model.val() # evaluate model performance on the validation set
|
|
93
93
|
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
|
|
94
94
|
path = model.export(format="onnx") # export the model to ONNX format
|
|
@@ -10,18 +10,18 @@ from ultralytics.utils import ASSETS
|
|
|
10
10
|
@pytest.mark.slow
|
|
11
11
|
def test_similarity():
|
|
12
12
|
"""Test similarity calculations and SQL queries for correctness and response length."""
|
|
13
|
-
exp = Explorer()
|
|
13
|
+
exp = Explorer(data="coco8.yaml")
|
|
14
14
|
exp.create_embeddings_table()
|
|
15
15
|
similar = exp.get_similar(idx=1)
|
|
16
|
-
assert len(similar) ==
|
|
17
|
-
similar = exp.get_similar(img=ASSETS / "
|
|
18
|
-
assert len(similar) ==
|
|
19
|
-
similar = exp.get_similar(idx=[1, 2], limit=
|
|
20
|
-
assert len(similar) ==
|
|
16
|
+
assert len(similar) == 4
|
|
17
|
+
similar = exp.get_similar(img=ASSETS / "bus.jpg")
|
|
18
|
+
assert len(similar) == 4
|
|
19
|
+
similar = exp.get_similar(idx=[1, 2], limit=2)
|
|
20
|
+
assert len(similar) == 2
|
|
21
21
|
sim_idx = exp.similarity_index()
|
|
22
|
-
assert len(sim_idx)
|
|
23
|
-
sql = exp.sql_query("WHERE labels LIKE '%
|
|
24
|
-
assert len(sql)
|
|
22
|
+
assert len(sim_idx) == 4
|
|
23
|
+
sql = exp.sql_query("WHERE labels LIKE '%zebra%'")
|
|
24
|
+
assert len(sql) == 1
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
@pytest.mark.slow
|
|
@@ -222,6 +222,7 @@ def test_export_openvino():
|
|
|
222
222
|
YOLO(f)(SOURCE) # exported model inference
|
|
223
223
|
|
|
224
224
|
|
|
225
|
+
@pytest.mark.skipif(not TORCH_1_9, reason="CoreML>=7.2 not supported with PyTorch<=1.8")
|
|
225
226
|
@pytest.mark.skipif(WINDOWS, reason="CoreML not supported on Windows") # RuntimeError: BlobWriter not loaded
|
|
226
227
|
@pytest.mark.skipif(IS_RASPBERRYPI, reason="CoreML not supported on Raspberry Pi")
|
|
227
228
|
@pytest.mark.skipif(checks.IS_PYTHON_3_12, reason="CoreML not supported in Python 3.12")
|
|
@@ -640,26 +641,31 @@ def test_yolo_world():
|
|
|
640
641
|
model.set_classes(["tree", "window"])
|
|
641
642
|
model(ASSETS / "bus.jpg", conf=0.01)
|
|
642
643
|
|
|
643
|
-
# Training from yaml
|
|
644
|
-
model = YOLO("yolov8s-worldv2.yaml") # no YOLOv8n-world model yet
|
|
645
|
-
model.train(data="coco8.yaml", epochs=2, imgsz=32, cache="disk", batch=-1, close_mosaic=1, name="yolo-world")
|
|
646
|
-
|
|
647
644
|
model = YOLO("yolov8s-worldv2.pt") # no YOLOv8n-world model yet
|
|
648
|
-
#
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
645
|
+
# Training from pretrain, evaluation process is included at the final stage of training.
|
|
646
|
+
# Use dota8.yaml which has less categories to reduce the inference time of CLIP model
|
|
647
|
+
model.train(
|
|
648
|
+
data="dota8.yaml",
|
|
649
|
+
epochs=1,
|
|
650
|
+
imgsz=32,
|
|
651
|
+
cache="disk",
|
|
652
|
+
batch=4,
|
|
653
|
+
close_mosaic=1,
|
|
654
|
+
name="yolo-world",
|
|
655
|
+
save_txt=True,
|
|
656
|
+
save_json=True,
|
|
657
|
+
)
|
|
652
658
|
|
|
653
659
|
# test WorWorldTrainerFromScratch
|
|
654
660
|
from ultralytics.models.yolo.world.train_world import WorldTrainerFromScratch
|
|
655
661
|
|
|
656
662
|
model = YOLO("yolov8s-worldv2.yaml") # no YOLOv8n-world model yet
|
|
657
663
|
model.train(
|
|
658
|
-
data={"train": {"yolo_data": ["
|
|
659
|
-
epochs=
|
|
664
|
+
data={"train": {"yolo_data": ["dota8.yaml"]}, "val": {"yolo_data": ["dota8.yaml"]}},
|
|
665
|
+
epochs=1,
|
|
660
666
|
imgsz=32,
|
|
661
667
|
cache="disk",
|
|
662
|
-
batch
|
|
668
|
+
batch=4,
|
|
663
669
|
close_mosaic=1,
|
|
664
670
|
name="yolo-world",
|
|
665
671
|
trainer=WorldTrainerFromScratch,
|
|
@@ -66,13 +66,13 @@ CLI_HELP_MSG = f"""
|
|
|
66
66
|
See all ARGS at https://docs.ultralytics.com/usage/cfg or with 'yolo cfg'
|
|
67
67
|
|
|
68
68
|
1. Train a detection model for 10 epochs with an initial learning_rate of 0.01
|
|
69
|
-
yolo train data=
|
|
69
|
+
yolo train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01
|
|
70
70
|
|
|
71
71
|
2. Predict a YouTube video using a pretrained segmentation model at image size 320:
|
|
72
72
|
yolo predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320
|
|
73
73
|
|
|
74
74
|
3. Val a pretrained detection model at batch-size 1 and image size 640:
|
|
75
|
-
yolo val model=yolov8n.pt data=
|
|
75
|
+
yolo val model=yolov8n.pt data=coco8.yaml batch=1 imgsz=640
|
|
76
76
|
|
|
77
77
|
4. Export a YOLOv8n classification model to ONNX format at image size 224 by 128 (no TASK required)
|
|
78
78
|
yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128
|
|
@@ -6,7 +6,7 @@ mode: train # (str) YOLO mode, i.e. train, val, predict, export, track, benchmar
|
|
|
6
6
|
|
|
7
7
|
# Train settings -------------------------------------------------------------------------------------------------------
|
|
8
8
|
model: # (str, optional) path to model file, i.e. yolov8n.pt, yolov8n.yaml
|
|
9
|
-
data: # (str, optional) path to data file, i.e.
|
|
9
|
+
data: # (str, optional) path to data file, i.e. coco8.yaml
|
|
10
10
|
epochs: 100 # (int) number of epochs to train for
|
|
11
11
|
time: # (float, optional) number of hours to train for, overrides epochs if supplied
|
|
12
12
|
patience: 100 # (int) epochs to wait for no observable improvement for early stopping of training
|
|
@@ -234,8 +234,11 @@ class AutoBackend(nn.Module):
|
|
|
234
234
|
logger = trt.Logger(trt.Logger.INFO)
|
|
235
235
|
# Read file
|
|
236
236
|
with open(w, "rb") as f, trt.Runtime(logger) as runtime:
|
|
237
|
-
|
|
238
|
-
|
|
237
|
+
try:
|
|
238
|
+
meta_len = int.from_bytes(f.read(4), byteorder="little") # read metadata length
|
|
239
|
+
metadata = json.loads(f.read(meta_len).decode("utf-8")) # read metadata
|
|
240
|
+
except UnicodeDecodeError:
|
|
241
|
+
f.seek(0) # engine file may lack embedded Ultralytics metadata
|
|
239
242
|
model = runtime.deserialize_cuda_engine(f.read()) # read engine
|
|
240
243
|
|
|
241
244
|
# Model context
|
|
@@ -61,7 +61,7 @@ HELP_MSG = """
|
|
|
61
61
|
model = YOLO("yolov8n.pt") # load a pretrained model (recommended for training)
|
|
62
62
|
|
|
63
63
|
# Use the model
|
|
64
|
-
results = model.train(data="
|
|
64
|
+
results = model.train(data="coco8.yaml", epochs=3) # train the model
|
|
65
65
|
results = model.val() # evaluate model performance on the validation set
|
|
66
66
|
results = model('https://ultralytics.com/images/bus.jpg') # predict on an image
|
|
67
67
|
success = model.export(format='onnx') # export the model to ONNX format
|
|
@@ -78,13 +78,13 @@ HELP_MSG = """
|
|
|
78
78
|
See all ARGS at https://docs.ultralytics.com/usage/cfg or with 'yolo cfg'
|
|
79
79
|
|
|
80
80
|
- Train a detection model for 10 epochs with an initial learning_rate of 0.01
|
|
81
|
-
yolo detect train data=
|
|
81
|
+
yolo detect train data=coco8.yaml model=yolov8n.pt epochs=10 lr0=0.01
|
|
82
82
|
|
|
83
83
|
- Predict a YouTube video using a pretrained segmentation model at image size 320:
|
|
84
84
|
yolo segment predict model=yolov8n-seg.pt source='https://youtu.be/LNwODJXcvt4' imgsz=320
|
|
85
85
|
|
|
86
86
|
- Val a pretrained detection model at batch-size 1 and image size 640:
|
|
87
|
-
yolo detect val model=yolov8n.pt data=
|
|
87
|
+
yolo detect val model=yolov8n.pt data=coco8.yaml batch=1 imgsz=640
|
|
88
88
|
|
|
89
89
|
- Export a YOLOv8n classification model to ONNX format at image size 224 by 128 (no TASK required)
|
|
90
90
|
yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128
|
|
@@ -25,18 +25,23 @@ NCNN | `ncnn` | yolov8n_ncnn_model/
|
|
|
25
25
|
"""
|
|
26
26
|
|
|
27
27
|
import glob
|
|
28
|
+
import os
|
|
28
29
|
import platform
|
|
30
|
+
import re
|
|
31
|
+
import shutil
|
|
29
32
|
import time
|
|
30
33
|
from pathlib import Path
|
|
31
34
|
|
|
32
35
|
import numpy as np
|
|
33
36
|
import torch.cuda
|
|
37
|
+
import yaml
|
|
34
38
|
|
|
35
39
|
from ultralytics import YOLO, YOLOWorld
|
|
36
40
|
from ultralytics.cfg import TASK2DATA, TASK2METRIC
|
|
37
41
|
from ultralytics.engine.exporter import export_formats
|
|
38
42
|
from ultralytics.utils import ARM64, ASSETS, IS_JETSON, IS_RASPBERRYPI, LINUX, LOGGER, MACOS, TQDM, WEIGHTS_DIR
|
|
39
43
|
from ultralytics.utils.checks import IS_PYTHON_3_12, check_requirements, check_yolo
|
|
44
|
+
from ultralytics.utils.downloads import safe_download
|
|
40
45
|
from ultralytics.utils.files import file_size
|
|
41
46
|
from ultralytics.utils.torch_utils import select_device
|
|
42
47
|
|
|
@@ -152,6 +157,133 @@ def benchmark(
|
|
|
152
157
|
return df
|
|
153
158
|
|
|
154
159
|
|
|
160
|
+
class RF100Benchmark:
|
|
161
|
+
def __init__(self):
|
|
162
|
+
"""Function for initialization of RF100Benchmark."""
|
|
163
|
+
self.ds_names = []
|
|
164
|
+
self.ds_cfg_list = []
|
|
165
|
+
self.rf = None
|
|
166
|
+
self.val_metrics = ["class", "images", "targets", "precision", "recall", "map50", "map95"]
|
|
167
|
+
|
|
168
|
+
def set_key(self, api_key):
|
|
169
|
+
"""
|
|
170
|
+
Set Roboflow API key for processing.
|
|
171
|
+
|
|
172
|
+
Args:
|
|
173
|
+
api_key (str): The API key.
|
|
174
|
+
"""
|
|
175
|
+
|
|
176
|
+
check_requirements("roboflow")
|
|
177
|
+
from roboflow import Roboflow
|
|
178
|
+
|
|
179
|
+
self.rf = Roboflow(api_key=api_key)
|
|
180
|
+
|
|
181
|
+
def parse_dataset(self, ds_link_txt="datasets_links.txt"):
|
|
182
|
+
"""
|
|
183
|
+
Parse dataset links and downloads datasets.
|
|
184
|
+
|
|
185
|
+
Args:
|
|
186
|
+
ds_link_txt (str): Path to dataset_links file.
|
|
187
|
+
"""
|
|
188
|
+
|
|
189
|
+
(shutil.rmtree("rf-100"), os.mkdir("rf-100")) if os.path.exists("rf-100") else os.mkdir("rf-100")
|
|
190
|
+
os.chdir("rf-100")
|
|
191
|
+
os.mkdir("ultralytics-benchmarks")
|
|
192
|
+
safe_download("https://ultralytics.com/assets/datasets_links.txt")
|
|
193
|
+
|
|
194
|
+
with open(ds_link_txt, "r") as file:
|
|
195
|
+
for line in file:
|
|
196
|
+
try:
|
|
197
|
+
_, url, workspace, project, version = re.split("/+", line.strip())
|
|
198
|
+
self.ds_names.append(project)
|
|
199
|
+
proj_version = f"{project}-{version}"
|
|
200
|
+
if not Path(proj_version).exists():
|
|
201
|
+
self.rf.workspace(workspace).project(project).version(version).download("yolov8")
|
|
202
|
+
else:
|
|
203
|
+
print("Dataset already downloaded.")
|
|
204
|
+
self.ds_cfg_list.append(Path.cwd() / proj_version / "data.yaml")
|
|
205
|
+
except Exception:
|
|
206
|
+
continue
|
|
207
|
+
|
|
208
|
+
return self.ds_names, self.ds_cfg_list
|
|
209
|
+
|
|
210
|
+
def fix_yaml(self, path):
|
|
211
|
+
"""
|
|
212
|
+
Function to fix yaml train and val path.
|
|
213
|
+
|
|
214
|
+
Args:
|
|
215
|
+
path (str): YAML file path.
|
|
216
|
+
"""
|
|
217
|
+
|
|
218
|
+
with open(path, "r") as file:
|
|
219
|
+
yaml_data = yaml.safe_load(file)
|
|
220
|
+
yaml_data["train"] = "train/images"
|
|
221
|
+
yaml_data["val"] = "valid/images"
|
|
222
|
+
with open(path, "w") as file:
|
|
223
|
+
yaml.safe_dump(yaml_data, file)
|
|
224
|
+
|
|
225
|
+
def evaluate(self, yaml_path, val_log_file, eval_log_file, list_ind):
|
|
226
|
+
"""
|
|
227
|
+
Model evaluation on validation results.
|
|
228
|
+
|
|
229
|
+
Args:
|
|
230
|
+
yaml_path (str): YAML file path.
|
|
231
|
+
val_log_file (str): val_log_file path.
|
|
232
|
+
eval_log_file (str): eval_log_file path.
|
|
233
|
+
list_ind (int): Index for current dataset.
|
|
234
|
+
"""
|
|
235
|
+
skip_symbols = ["🚀", "⚠️", "💡", "❌"]
|
|
236
|
+
with open(yaml_path) as stream:
|
|
237
|
+
class_names = yaml.safe_load(stream)["names"]
|
|
238
|
+
with open(val_log_file, "r", encoding="utf-8") as f:
|
|
239
|
+
lines = f.readlines()
|
|
240
|
+
eval_lines = []
|
|
241
|
+
for line in lines:
|
|
242
|
+
if any(symbol in line for symbol in skip_symbols):
|
|
243
|
+
continue
|
|
244
|
+
entries = line.split(" ")
|
|
245
|
+
entries = list(filter(lambda val: val != "", entries))
|
|
246
|
+
entries = [e.strip("\n") for e in entries]
|
|
247
|
+
start_class = False
|
|
248
|
+
for e in entries:
|
|
249
|
+
if e == "all":
|
|
250
|
+
if "(AP)" not in entries:
|
|
251
|
+
if "(AR)" not in entries:
|
|
252
|
+
# parse all
|
|
253
|
+
eval = {}
|
|
254
|
+
eval["class"] = entries[0]
|
|
255
|
+
eval["images"] = entries[1]
|
|
256
|
+
eval["targets"] = entries[2]
|
|
257
|
+
eval["precision"] = entries[3]
|
|
258
|
+
eval["recall"] = entries[4]
|
|
259
|
+
eval["map50"] = entries[5]
|
|
260
|
+
eval["map95"] = entries[6]
|
|
261
|
+
eval_lines.append(eval)
|
|
262
|
+
|
|
263
|
+
if e in class_names:
|
|
264
|
+
eval = {}
|
|
265
|
+
eval["class"] = entries[0]
|
|
266
|
+
eval["images"] = entries[1]
|
|
267
|
+
eval["targets"] = entries[2]
|
|
268
|
+
eval["precision"] = entries[3]
|
|
269
|
+
eval["recall"] = entries[4]
|
|
270
|
+
eval["map50"] = entries[5]
|
|
271
|
+
eval["map95"] = entries[6]
|
|
272
|
+
eval_lines.append(eval)
|
|
273
|
+
map_val = 0.0
|
|
274
|
+
if len(eval_lines) > 1:
|
|
275
|
+
print("There's more dicts")
|
|
276
|
+
for lst in eval_lines:
|
|
277
|
+
if lst["class"] == "all":
|
|
278
|
+
map_val = lst["map50"]
|
|
279
|
+
else:
|
|
280
|
+
print("There's only one dict res")
|
|
281
|
+
map_val = [res["map50"] for res in eval_lines][0]
|
|
282
|
+
|
|
283
|
+
with open(eval_log_file, "a") as f:
|
|
284
|
+
f.write(f"{self.ds_names[list_ind]}: {map_val}\n")
|
|
285
|
+
|
|
286
|
+
|
|
155
287
|
class ProfileModels:
|
|
156
288
|
"""
|
|
157
289
|
ProfileModels class for profiling different models on ONNX and TensorRT.
|
|
@@ -440,12 +440,9 @@ class Annotator:
|
|
|
440
440
|
text_x = self.im.shape[1] - int(self.im.shape[1] * 0.025 + max_text_width)
|
|
441
441
|
text_y = int(self.im.shape[0] * 0.025)
|
|
442
442
|
|
|
443
|
-
# Calculate dynamic gap between each count value based on the width of the image
|
|
444
|
-
dynamic_gap = max(1, self.im.shape[1] // 100) * tf
|
|
445
|
-
|
|
446
443
|
for i, count in enumerate(counts):
|
|
447
444
|
text_x_pos = text_x
|
|
448
|
-
text_y_pos = text_y + i *
|
|
445
|
+
text_y_pos = text_y + i * (max_text_height + 25 * tf)
|
|
449
446
|
|
|
450
447
|
# Draw the border
|
|
451
448
|
cv2.rectangle(
|
|
@@ -468,8 +465,6 @@ class Annotator:
|
|
|
468
465
|
lineType=cv2.LINE_AA,
|
|
469
466
|
)
|
|
470
467
|
|
|
471
|
-
text_y_pos += tf * max_text_height
|
|
472
|
-
|
|
473
468
|
@staticmethod
|
|
474
469
|
def estimate_pose_angle(a, b, c):
|
|
475
470
|
"""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ultralytics
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.3
|
|
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
|
|
@@ -168,7 +168,7 @@ model = YOLO("yolov8n.yaml") # build a new model from scratch
|
|
|
168
168
|
model = YOLO("yolov8n.pt") # load a pretrained model (recommended for training)
|
|
169
169
|
|
|
170
170
|
# Use the model
|
|
171
|
-
model.train(data="
|
|
171
|
+
model.train(data="coco8.yaml", epochs=3) # train the model
|
|
172
172
|
metrics = model.val() # evaluate model performance on the validation set
|
|
173
173
|
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
|
|
174
174
|
path = model.export(format="onnx") # export the model to ONNX format
|
|
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.1 → ultralytics-8.2.3}/ultralytics/cfg/models/rt-detr/rtdetr-resnet101.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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
|