十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Ultralytics YOLO26 官方仓库实战指南:从安装配置到 CLI/Python 全模式推理与模型选型

Ultralytics YOLO26 官方仓库实战指南:从安装配置到 CLI/Python 全模式推理与模型选型 Ultralytics YOLO26 官方仓库实战指南从安装配置到 CLI/Python 全模式推理与模型选型【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics本文以 Ultralytics 官方仓库根目录 README.md 为骨架系统梳理 YOLO26 系列模型YOLO11、YOLOv8 等历史版本同库支持的安装方式、CLI 与 Python 双接口用法、七大任务检测、实例分割、语义分割、深度估计、分类、姿态估计、OBB的预训练模型性能表并结合仓库源码ultralytics/engine/、ultralytics/cfg/、pyproject.toml解释底层调用链与配置解析机制帮助开发者快速完成从模型加载、训练、验证、推理到多格式导出的完整工作流。一、仓库定位与核心能力Ultralytics 对其能力边界有精确描述覆盖目标检测、实例分割、语义分割、图像分类、姿态估计、旋转框OBB与多目标跟踪等任务并提供训练、验证、基准测试、导出至 20 余种部署格式以及yolo命令行入口。官方 README 强调其模型在 object detection、instance segmentation、semantic segmentation、classification、pose estimation 任务上表现突出并且可以在视频帧间跟踪已检测到的对象。从源码结构看整个仓库围绕统一Model门面 任务级组件组织ultralytics/engine/ —— 与具体模型无关的核心BaseTrainer、BaseValidator、BasePredictor、Exporter与Resultsultralytics/models/ —— 各模型家族yolo、rtdetr、sam、fastsam、nas按任务继承引擎例如models/yolo/detect/{train,val,predict}.pyultralytics/nn/ ——tasks.py从 YAML 构建模型parse_modelmodules/是被 YAML 按名称引用的层组件库autobackend.py提供跨所有导出格式的统一推理加载ultralytics/cfg/ ——default.yaml定义全部 train/val/predict/export 参数同时包含yoloCLI 入口函数entrypoint与参数弃用处理逻辑。用户接触到的入口只有一个——ultralytics/engine/model.py 中的Model类.train()、.val()、.predict()、.export()、.track()它通过各模型家族的task_map属性惰性分派到具体任务的组件这是一行from ultralytics import YOLO即可通吃所有任务的实现基础。二、安装依赖约束与安装方式README 给出的最小安装要求是Python 3.8 环境下 PyTorch 1.8然后执行pip install ultralytics除 pip 外仓库还支持 Conda、Docker仓库 docker/ 目录下提供 14 个 Dockerfile覆盖 CPU、CUDA、Jetson JetPack 4/5/6、conda、runner 等场景以及 Git 源码构建。仓库 pyproject.toml 中的[project]段落是对 README 声明的权威佐证requires-python 3.8license AGPL-3.0Python 3.8~3.13 均在 classifiers 支持范围内必需依赖dependencies包括numpy1.23.0macOS 下额外排除了 2.0.*~2.3.4 的多个版本、opencv-python4.7.0、torch1.8.0Windows CPU 在 torch 2.4.0 有已知错误被显式排除、torchvision0.9.0、polars、ultralytics-thopFLOPs 计算等可选依赖按导出/功能切分为多组export-baseONNX/OpenVINO、export-tensorflow、export-coreml、export-executorch、export-litert、export聚合以上全部、solutionsshapely、streamlit、flask用于yolo solutions场景应用、loggingwandb/tensorboard/mlflow、extraalbumentations、faster-coco-eval等。开发/测试安装则推荐可编辑模式见 AGENTS.md 的 Commands 一节uv pip install -e .[dev,export-base,solutions]需要说明的适用前提仓库 CIci.yml在 Python 3.13 的 ubuntu/macos/windows/ARM 多平台跑测试并保留一个 Python 3.8 torch 1.8.0 的最低版本底线作业即 README 中 PyTorch1.8 下限并非虚设而是在 CI 中被持续守护的兼容承诺。三、CLI 用法yolo命令的底层实现README 的第一个实战示例是用预训练 YOLO26n 对图像做预测# 使用预训练 YOLO26n 对图像做目标检测 yolo predict modelyolo26n.pt sourcehttps://ultralytics.com/images/bus.jpgyolo命令支持各任务与模式并可附加imgsz640等任意argvalue参数。AGENTS.md 还给出了最快的端到端冒烟测试命令自动下载 yolo26n.pt 并对本地 assets 图片推理yolo predict modelyolo26n.pt3.1 CLI 参数如何被解析源码视角yolo可执行文件由 pyproject.toml 的[project.scripts]注册[project.scripts] yolo ultralytics.cfg:entrypoint ultralytics ultralytics.cfg:entrypoint也就是说yolo与ultralytics两个命令共用同一个入口函数 ultralytics/cfg/init.py 中的entrypoint()源码 L983 起。该入口内部完成四件事全部可以在源码中找到对应实现模式与任务校验文件顶部L59-L60定义了两个有序元组它们是全部合法模式/任务的唯一事实来源MODES (train, val, predict, export, track, benchmark) TASKS (detect, segment, semantic, depth, classify, pose, obb)同一文件还维护了TASK2DATA、TASK2MODEL等映射如detect → yolo26n.pt/coco8.yaml说明每个任务都有内置的默认数据集与默认模型。argvalue解析与类型转换parse_key_value_pair()L901按第一个切分并用smart_value()做安全类型推断——none/true/false转 None/布尔其余走ast.literal_eval因此 CLI 里写imgsz640、device[0,1]、augmentTrue都能得到正确 Python 类型merge_equals_args()L659还负责修复 shell 引号截断产生的碎片例如把imgsz[3, 640, 640]被空格拆开的参数重新拼回整体。参数对齐与拼写纠错check_dict_alignment()L613将用户参数与default.yaml的合法键对齐遇到非法键会用difflib.get_close_matches给出你是不是想写 i.e.epochs...式的提示并抛SyntaxError_handle_deprecation()L560则处理历史参数迁移——例如boxes→show_boxes、hide_labels→show_labels取反、line_thickness→line_width并把旧的int8/half量化旗标统一转发到新的quantize参数。这解释了为什么老版本脚本中的参数在新版仓库里仍能工作。yolo solutions子命令同一入口还托管了yolo solutions count|heatmap|queue|...等开箱即用的场景应用SOLUTION_MAPL39-L56对应 ultralytics/solutions/ 下的 ObjectCounter、Heatmap、QueueManager 等类。3.2 六种模式 × 七大任务的组合MODES与TASKS的笛卡尔组合构成整个产品的命令空间典型 CLI 形态均对应 README 与 docs 中的可复现命令# 检测训练 yolo train modelyolo26n.pt datacoco8.yaml epochs100 imgsz640 # 检测验证复现 README 性能表中的 mAP yolo val detect datacoco.yaml device0 # 分割验证 yolo val segment datacoco.yaml device0 # 语义分割验证Cityscapes输入 2048 yolo semantic val datacityscapes.yaml device0 imgsz2048 # 深度估计验证NYU Depth V2 yolo depth val modelyolo26n-depth.pt datanyu-depth.yaml imgsz768 device0 # 姿态验证 yolo val pose datacoco-pose.yaml device0 # OBB验证DOTAv1test 划分 yolo val obb dataDOTAv1.yaml device0 splittest # 跟踪在检测/分割/姿态/OBB 模型上开启 yolo track modelyolo26n.pt sourcepath/to/video.mp4 # 导出见第五节 yolo export modelyolo26n.pt formatonnx # 基准测试跨导出格式比较速度与精度 yolo benchmark modelyolo26n.pt注意 README 明确说明Tracking 模式兼容 Detection、Segmentation、Pose 与 OBB 模型且所有预训练模型在首次使用时自动从 Ultralytics 官方 release 下载无需手动管理权重文件。仓库中的数据集配置 YAML 位于 ultralytics/cfg/datasets/如coco8.yaml、coco.yaml、coco-pose.yaml、DOTAv1.yaml、cityscapes.yaml、nyu-depth.yaml模型结构 YAML 位于 ultralytics/cfg/models/26/yolo26.yaml、yolo26-seg.yaml、yolo26-sem.yaml、yolo26-depth.yaml、yolo26-cls.yaml、yolo26-pose.yaml、yolo26-obb.yaml等 11 个文件。四、Python 用法README 官方示例全解README 给出的 Python 官方示例与 CLI 接受同一套配置参数from ultralytics import YOLO # 加载预训练 YOLO26n 模型 model YOLO(yolo26n.pt) # 在 COCO8 数据集上训练 100 个 epoch train_results model.train( datacoco8.yaml, # 数据集配置文件路径 epochs100, # 训练轮数 imgsz640, # 训练输入尺寸 devicecpu, # 运行设备如 cpu、0、[0,1,2,3] ) # 在验证集上评估模型性能 metrics model.val() # 对图像做目标检测 results model(path/to/image.jpg) # 对图像预测 results[0].show() # 显示结果 # 导出为 ONNX 格式以便部署 path model.export(formatonnx) # 返回导出模型路径结合 ultralytics/engine/model.py 的源码可以对这个示例做三点深化理解model(...)就是predictModel类实现了__call__作为predict的别名见其 docstring Methods 段__call__: Alias for the predict method因此model(path/to/image.jpg)与model.predict(...)完全等价YOLO(yolo26n.pt)的加载逻辑Model.__init__L83 起接受本地.pt检查点、.yaml结构文件甚至 Triton Server 模型名加载.pt时解析 checkpoint加载.yaml时走yaml_model_load构建未训练模型任务类型可显式传入task或从检查点自动推断guess_model_taskexport的返回值export()执行后返回导出文件路径字符串或路径对象与 README 示例path model.export(formatonnx)一致。训练、验证、预测、跟踪、导出、超参调优tune都在同一个Model对象上完成这正是单一门面、惰性分派设计的直接收益业务代码里不需要 import 任何任务级子模块。五、模型性能总表YOLO26 七大任务预训练模型README 核心数据README 的 Models 一节给出了 YOLO26 全系模型在各自标准基准上的性能与速度数据这是选型的核心依据。以下完整继承原文档表格数据以 README 为准均可用表中给出的命令复现。5.1 目标检测COCO80 类模型输入尺寸 (px)mAPval50-95mAP 50-95 (e2e)速度 CPU ONNX (ms)速度 T4 TensorRT10 (ms)参数量 (M)FLOPs (B)YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.4YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.7YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.2YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.4YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7193.9mAPval为单模型单尺度在 COCO val2017 上的结果复现命令yolo val detect datacoco.yaml device0速度指标基于 COCO val 图像平均CPU 侧为 ONNX 导出GPU 侧为 TensorRT 导出复现命令yolo val detect datacoco.yaml batch1 device0|cpu。5.2 实例分割COCO-Seg80 类模型输入尺寸 (px)mAPbox50-95 (e2e)mAPmask50-95 (e2e)速度 CPU ONNX (ms)速度 T4 TensorRT10 (ms)参数量 (M)FLOPs (B)YOLO26n-seg64039.633.953.3 ± 0.52.1 ± 0.02.79.1YOLO26s-seg64047.340.0118.4 ± 0.93.3 ± 0.010.434.2YOLO26m-seg64052.544.1328.2 ± 2.46.7 ± 0.123.6121.5YOLO26l-seg64054.445.5387.0 ± 3.78.0 ± 0.128.0139.8YOLO26x-seg64056.547.0787.0 ± 6.816.4 ± 0.162.8313.5复现命令yolo val segment datacoco.yaml device0精度、yolo val segment datacoco.yaml batch1 device0|cpu速度。5.3 语义分割Cityscapes19 类模型输入尺寸 (px)mIoUval速度 RTX3090 PyTorch (ms)参数量 (M)FLOPs (B)YOLO26n-sem1024 × 204878.34.4 ± 0.01.622.7YOLO26s-sem1024 × 204880.88.4 ± 0.06.588.8YOLO26m-sem1024 × 204882.019.9 ± 0.114.3304.5YOLO26l-sem1024 × 204882.926.5 ± 0.117.9384.7YOLO26x-sem1024 × 204883.648.9 ± 0.240.2861.7复现命令yolo semantic val datacityscapes.yaml device0 imgsz2048。5.4 深度估计NYU Depth V2Eigen 测试集输出逐像素深度/米模型输入尺寸 (px)delta1abs_relrmse速度 CPU ONNX (ms)速度 T4 TensorRT10 (ms)参数量 (M)FLOPs (B)YOLO26n-depth7680.8820.1090.414272.0 ± 27.22.7 ± 0.16.446.9YOLO26s-depth7680.8960.1040.399393.7 ± 13.13.8 ± 0.013.267.9YOLO26m-depth7680.9210.0890.364621.5 ± 49.76.0 ± 0.123.3130.7YOLO26l-depth7680.9300.0830.351821.9 ± 50.77.7 ± 0.127.7157.2YOLO26x-depth7680.9330.0800.3441240.9 ± 73.313.6 ± 0.257.0302.0README 对该表的口径说明值得注意delta1 表示预测深度落在真值 1.25 倍以内的像素百分比654 张图使用多尺度 水平翻转 TTA 与 log-最小二乘对齐若不带 TTA 的单尺度结果可用yolo depth val modelyolo26n-depth.pt datanyu-depth.yaml imgsz768 device0复现中位数尺度对齐分数更低delta1 分别为 0.785 / 0.786 / 0.827 / 0.839 / 0.843速度指标为纯推理延迟imgsz768、batch1预热后多次计时取均值±标准差CPU 侧为 32 核 Xeon 上的 ONNX Runtime fp32GPU 侧为 Tesla T4 上的 TensorRT fp16。5.5 图像分类ImageNet1000 类模型输入尺寸 (px)acc top1acc top5速度 CPU ONNX (ms)速度 T4 TensorRT10 (ms)参数量 (M)FLOPs (B) 224YOLO26n-cls22471.490.15.0 ± 0.31.1 ± 0.02.80.5YOLO26s-cls22476.092.97.9 ± 0.21.3 ± 0.06.71.6YOLO26m-cls22478.194.217.2 ± 0.42.0 ± 0.011.64.9YOLO26l-cls22479.094.623.2 ± 0.32.8 ± 0.014.16.2YOLO26x-cls22479.995.041.4 ± 0.93.8 ± 0.029.613.6复现命令yolo val classify datapath/to/ImageNet device0精度、yolo val classify datapath/to/ImageNet batch1 device0|cpu速度。5.6 姿态估计COCO-Pose聚焦 person 类模型输入尺寸 (px)mAPpose50-95 (e2e)mAPpose50 (e2e)速度 CPU ONNX (ms)速度 T4 TensorRT10 (ms)参数量 (M)FLOPs (B)YOLO26n-pose64057.283.340.3 ± 0.51.8 ± 0.02.97.5YOLO26s-pose64063.086.685.3 ± 0.92.7 ± 0.010.423.9YOLO26m-pose64068.889.6218.0 ± 1.55.0 ± 0.121.573.1YOLO26l-pose64070.490.5275.4 ± 2.46.5 ± 0.125.991.3YOLO26x-pose64071.691.6565.4 ± 3.012.2 ± 0.257.6201.7复现命令yolo val pose datacoco-pose.yaml device0。5.7 旋转框 OBBDOTAv115 类模型输入尺寸 (px)mAPtest50-95 (e2e)mAPtest50 (e2e)速度 CPU ONNX (ms)速度 T4 TensorRT10 (ms)参数量 (M)FLOPs (B)YOLO26n-obb102452.478.997.7 ± 0.92.8 ± 0.02.514.0YOLO26s-obb102454.880.9218.0 ± 1.44.9 ± 0.19.855.1YOLO26m-obb102455.381.0579.2 ± 3.810.2 ± 0.321.2183.3YOLO26l-obb102456.281.6735.6 ± 3.113.0 ± 0.225.6230.0YOLO26x-obb102456.781.71485.7 ± 11.530.5 ± 0.957.6516.5mAPtest为 DOTAv1 测试集上的单模型多尺度结果本地复现yolo val obb dataDOTAv1.yaml device0 splittest最终需在 DOTA 官方评测服务器上提交合并结果速度复现yolo val obb dataDOTAv1.yaml batch1 device0|cpu。选型参考基于上表横向对比n 档适合边缘/嵌入式检测仅 2.4M 参数、ONNX CPU 约 39mss 档是精度/速度平衡点检测 mAP 提升约 8 个点、速度约 2.2 倍m/l/x 档逐步换取精度检测 53.1 → 55.0 → 57.5但 x 档 CPU 延迟已超过半秒。所有任务均遵循同一 n/s/m/l/x 五档梯度。六、模型导出与部署20 格式的机制README 的 Python 示例最后一行model.export(formatonnx)是整个仓库的重要能力入口。从源码看导出格式的权威清单由 ultralytics/engine/exporter.py 的export_formats()L146 起维护每行定义格式名、CLI 参数、文件后缀、CPU/GPU 支持、可用参数、所需 extras 环境。从该函数可见的格式节选包括PyTorch.pt基线与TorchScript.torchscript支持batch/quantize/nms/dynamicONNX.onnx支持batch/data/dynamic/quantize/opset/simplify/nms/fraction——README 性能表中 CPU 速度列即基于它OpenVINO_openvino_modelCPU 侧加速TensorRT.engine仅 GPU支持workspace等参数——性能表中 T4 速度列即基于它CoreML.mlpackage、TensorFlow SavedModel / GraphDef / Edge TPU等。这与 pyproject.toml 中export-base、export-tensorflow、export-coreml、export-executorch、export-litert等可选依赖组一一对应每种格式所需的第三方库被隔离在自己的 extras 里pip install ultralytics[export]则一次性装齐主流导出链。仓库 ultralytics/utils/export/ 下每个格式有独立模块onnx.py、openvino.py、tensorrt位于 nn/backends、tensorflow.py、coreml.py等AGENTS.md 还专门约定导出格式的行为必须放在对应模块内、不要把格式分支塞进head.py说明这是被严格维护的模块化边界。yolo benchmark模式则可以直接对同一模型横向比较各导出格式的精度与速度对应 README 表格中CPU ONNX vs T4 TensorRT两列速度的产生方式。导出后的模型用AutoBackendultralytics/nn/autobackend.py统一加载——YOLO(model.onnx)、YOLO(model.engine)均可直接进入推理无需更换调用代码。七、集成生态、许可与支持渠道README 的 Integrations 一节列出了与主流 AI 平台的集成对应仓库 docs/en/integrations/ 下的完整文档与 ultralytics/utils/callbacks/ 中的日志回调解耦实现Weights Biases、Comet、Roboflow、Intel OpenVINO、ClearML、MLflow、TensorBoard、DVC 等均以 callback 形式挂载到训练生命周期callbacks/目录被明确排除在覆盖率统计之外见 pyproject.toml 的[tool.coverage.run] omit。许可方面README 声明双许可模式AGPL-3.0OSI 认证的开源许可适合学生、研究者与Ultralytics Enterprise License商业生产使用规避 AGPL 开源义务。LICENSE 文件为完整条款。仓库同样提供了配套的资源目录供深入探索完整中文文档树docs/en/含 tasks、modes、models、datasets、guides、integrations 等章节其中 [docs/zh 相关中文文档由官方站点承载仓库内为英文源]可运行的官方示例examples/ONNXRuntime、OpenCV-DNN、C 各推理后端、SAHI 推理、区域计数、行为识别等 13 个示例工程与 examples/cpp/ 的 LibTorch/ONNXRuntime/OpenVINO 等 C 推理模板测试套件tests/test_cli.py、test_python.py、test_engine.py、test_exports.py等pyproject.toml的 pytest 配置含--doctest-modules即包内 docstring 可执行 doctest贡献指南CONTRIBUTING.md 与 AGENTS.md后者同时是面向 AI 编码代理的仓库协作规范包含开发安装、测试、格式化的全部官方命令。八、小结一条从入门到部署的主线综合 README 与源码Ultralytics 仓库的使用主线可以收敛为四步装pip install ultralyticsPython ≥ 3.8 PyTorch ≥ 1.8需要导出/场景应用时按需加 extras用CLI 一条命令yolo predict/train/val/track/export/benchmark model... data...或 Python 一行YOLO(yolo26n.pt)参数空间由 ultralytics/cfg/default.yaml 统一定义并做拼写纠错与弃用迁移选按第 5 节的七任务性能表以 n/s/m/l/x 五档在精度与延迟之间取舍全部指标可用表内yolo val ...命令本地复现部署model.export(format...)走 exporter 的多格式链ONNX/OpenVINO/TensorRT/CoreML 等导出物由 AutoBackend 统一加载yolo benchmark横向验证。整套流程的入口、参数、任务、格式清单都可以在仓库内找到可核对的事实来源pyproject.toml依赖与入口、ultralytics/cfg/__init__.pyCLI 解析、ultralytics/engine/model.pyPython 门面、ultralytics/engine/exporter.py导出格式这使本文的所有操作示例都具备可复现性与可审计性。【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表