Intel OpenVINO 导出
本指南介绍了如何将 YOLO26 模型导出为 OpenVINO 格式。该格式最高可带来 3 倍的 CPU 加速,并能显著提升 YOLO 在 Intel GPU 和 NPU 硬件上的推理速度。
OpenVINO 是 Open Visual Inference & Neural Network Optimization toolkit(开放式视觉推理与神经网络优化工具套件)的缩写,是一套用于优化和部署 AI 推理模型的综合工具包。尽管名称中包含“视觉”(Visual),但 OpenVINO 同样支持语言、音频、时间序列等多种其他任务。
Watch: How to Export Ultralytics YOLO26 to Intel OpenVINO Format for Faster Inference 🚀
使用示例
将 YOLO26n 模型导出为 OpenVINO 格式并使用导出后的模型进行推理。
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model
model.export(format="openvino") # creates 'yolo26n_openvino_model/'
# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/")
# Run inference
results = ov_model("https://ultralytics.com/images/bus.jpg")
# Run inference with specified device, available devices: ["intel:gpu", "intel:npu", "intel:cpu"]
results = ov_model("https://ultralytics.com/images/bus.jpg", device="intel:gpu")导出参数
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
format | str | 'openvino' | 导出模型的目标格式,定义了其与各种部署环境的兼容性。 |
imgsz | int 或 tuple | 640 | 模型输入的期望图像大小。可以是代表正方形图像的整数,也可以是指定尺寸的元组 (height, width)。 |
half | bool | False | 启用 FP16(半精度)量化,可减小模型体积并可能在受支持的硬件上加快推理速度。 |
int8 | bool | False | 激活 INT8 量化,进一步压缩模型并以极小的 accuracy 损失提升推理速度,主要用于边缘设备。 |
dynamic | bool | False | 允许动态输入尺寸,增强处理不同图像尺寸时的灵活性。 |
nms | bool | False | 添加非极大值抑制 (NMS),这是精确且高效的检测后处理所必需的。 |
batch | int | 1 | 指定导出模型的批量推理大小,即导出模型在 predict 模式下并发处理的最大图像数量。 |
data | str | 'coco8.yaml' | dataset 配置文件路径(默认:coco8.yaml),这对量化至关重要。 |
fraction | float | 1.0 | 指定用于 INT8 量化校准的数据集比例。允许在完整数据集的子集上进行校准,这对实验或资源受限时非常有用。如果启用 INT8 但未指定此参数,则将使用完整数据集。 |
有关导出过程的更多详细信息,请访问 Ultralytics 模型导出文档页面。
OpenVINO™ 与大多数 Intel® 处理器兼容,但为确保最佳性能,请遵循以下建议:
-
验证 OpenVINO™ 支持 使用 Intel 兼容性列表 检查你的 Intel® 芯片是否正式受到 OpenVINO™ 的支持。
-
识别你的加速器 通过查阅 Intel 硬件指南,确定你的处理器是否包含集成 NPU (Neural Processing Unit) 或 GPU (集成 GPU)。
-
安装最新驱动程序 如果你的芯片支持 NPU 或 GPU,但 OpenVINO™ 未检测到它,你可能需要安装或更新相关驱动程序。请按照 驱动程序安装说明 来启用全面加速。
通过执行这三个步骤,你可以确保 OpenVINO™ 在你的 Intel® 硬件上以最佳状态运行。
OpenVINO 的优势
- 性能:OpenVINO 通过利用 Intel CPU、集成及独立 GPU 和 FPGA 的性能,提供高性能推理。
- 支持异构执行:OpenVINO 提供了一个 API,可以实现“一次编写,到处运行”,部署在任何受支持的 Intel 硬件(CPU、GPU、FPGA、VPU 等)上。
- 模型优化器:OpenVINO 提供了一个模型优化器,可以导入、转换和优化来自主流 deep learning 框架的模型,如 PyTorch、TensorFlow、TensorFlow Lite、Keras、ONNX、PaddlePaddle 和 Caffe。
- 易用性:该工具包附带超过 80 个教程笔记本(包括 YOLO26 优化),涵盖了工具包的各个方面。
OpenVINO 导出结构
将模型导出为 OpenVINO 格式后,将生成一个包含以下文件的目录:
- XML 文件:描述网络拓扑结构。
- BIN 文件:包含权重和偏置的二进制数据。
- 映射文件:保存原始模型输出张量到 OpenVINO 张量名称的映射。
你可以使用这些文件通过 OpenVINO 推理引擎运行推理。
在部署中使用 OpenVINO 导出
一旦模型成功导出为 OpenVINO 格式,你有两种主要的推理运行选项:
-
使用
ultralytics包,它提供了一个高级 API 并封装了 OpenVINO Runtime。 -
使用原生的
openvino包,以便对推理行为进行更高级或定制化的控制。
使用 Ultralytics 进行推理
ultralytics 包允许你通过 predict 方法轻松使用导出的 OpenVINO 模型进行推理。你还可以使用 device 参数指定目标设备(例如 intel:gpu、intel:npu、intel:cpu)。
from ultralytics import YOLO
# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/") # the path of your exported OpenVINO model
# Run inference with the exported model
ov_model.predict(device="intel:gpu") # specify the device you want to run inference on这种方法非常适合快速原型设计,或者在你不需要对推理流水线进行完全控制的情况下进行部署。
使用 OpenVINO Runtime 进行推理
OpenVINO Runtime 为所有受支持的 Intel 硬件提供统一的推理 API。它还提供负载均衡和异步执行等高级功能。有关运行推理的更多信息,请参阅 YOLO26 笔记本。
请记住,你需要 XML 和 BIN 文件,以及任何特定于应用的设置(如输入大小、归一化缩放因子等),才能正确配置并使用 Runtime 运行模型。
在部署应用中,通常需要执行以下步骤:
- 通过创建
core = Core()来初始化 OpenVINO。 - 使用
core.read_model()方法加载模型。 - 使用
core.compile_model()函数编译模型。 - 准备输入(图像、文本、音频等)。
- 使用
compiled_model(input_data)运行推理。
有关更详细的步骤和代码片段,请参阅 OpenVINO 文档 或 API 教程。
OpenVINO YOLO26 基准测试
Ultralytics 团队在各种模型格式和 precision 下对 YOLO26 进行了基准测试,评估了其在不同 OpenVINO 兼容 Intel 设备上的速度和精度。
-
以下基准测试结果仅供参考,可能会根据系统的确切硬件和软件配置以及运行测试时的系统当前工作负载而有所差异。
-
所有基准测试均使用
openvinoPython 包版本 2026.2.0.dev20260501 运行。一旦 2026.2.0 版本发布,我们将更新这些基准测试。 -
NPU 上的 YOLO26 模型仅在配备 2xxV 系列、3xx 系列及以上处理器的 Intel® Core™ Ultra™ 系统上受支持。
Intel® Core™ Ultra
Intel® Core™ Ultra™ 系列代表了高性能计算的新基准,旨在满足现代用户不断变化的需求——从游戏玩家和创作者到利用 AI 的专业人士。这一代产品不仅仅是传统的 CPU 系列;它在单一芯片内集成了强大的 CPU 核心、高性能集成 GPU 功能以及专用的神经网络处理单元 (NPU),为多样化且密集的计算工作负载提供了一体化解决方案。
Intel® Core Ultra™ 架构的核心是混合设计,能够为传统处理任务、GPU 加速工作负载和 AI 驱动型操作提供卓越的性能。NPU 的加入增强了设备端 AI 推理能力,实现了跨多种应用场景更快速、更高效的机器学习和数据处理。
Core Ultra™ 家族包括针对不同性能需求量身定制的各种型号,从节能设计到标注为“H”的高性能型号(适用于需要强大计算能力的笔记本电脑和紧凑型设备)。在整个产品线中,用户受益于 CPU、GPU 和 NPU 集成的协同效应,带来了出色的效率、响应能力和多任务处理能力。
作为 Intel 持续创新的一部分,Core Ultra™ 系列为未来计算树立了新标准。随着多款型号的推出和更多新产品的规划,该系列凸显了 Intel 致力于为下一代智能、AI 增强型设备提供前沿解决方案的承诺。
以下基准测试运行在 Intel® Core™ Ultra™ X7 358H、Intel® Core™ Ultra™ 7 258V 和 Intel® Core™ Ultra™ 7 155H 上,涵盖了 FP32、FP16 和 INT8 精度。
Intel® Core™ Ultra™ X7 358H
详细基准测试结果
| 模型 | 格式 | 精度 | 状态 | 大小 (MB) | metrics/mAP50-95(B) | 推理时间 (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 25.18 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4763 | 2.67 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4763 | 2.64 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4625 | 2.73 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 50.09 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5615 | 3.57 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5615 | 3.55 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.547 | 3.09 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 135.1 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.3 | 0.6168 | 5.64 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6168 | 5.85 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.5 | 0.5994 | 4.14 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 169.75 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6206 | 8.14 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6206 | 8.18 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5999 | 4.67 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 407.56 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6569 | 13.11 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6569 | 13.15 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6374 | 9.24 |
Intel® Core™ Ultra™ 7 258V
详细基准测试结果
| 模型 | 格式 | 精度 | 状态 | 大小 (MB) | metrics/mAP50-95(B) | 推理时间 (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 31.43 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4762 | 3.57 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4762 | 3.53 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4625 | 3.65 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 60.4 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 5.02 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 5.01 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.547 | 4.31 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 173.31 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.3 | 0.6191 | 9.48 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6168 | 9.6 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.5 | 0.5994 | 6.03 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6173 | 224.52 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.3725 | 11.88 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6201 | 12.0 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.5999 | 8.47 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 595.72 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6567 | 20.26 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6454 | 20.25 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6374 | 14.77 |
Intel® Core™ Ultra™ 7 155H
详细基准测试结果
| 模型 | 格式 | 精度 | 状态 | 大小 (MB) | metrics/mAP50-95(B) | 推理时间 (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n | PyTorch (CPU) | FP32 | ✅ | 5.3 | 0.4765 | 38.77 |
| YOLO26n | OpenVINO | FP32 | ✅ | 9.6 | 0.4774 | 9.87 |
| YOLO26n | OpenVINO | FP16 | ✅ | 5.1 | 0.4774 | 9.84 |
| YOLO26n | OpenVINO | INT8 | ✅ | 3.2 | 0.4705 | 5.86 |
| YOLO26s | PyTorch (CPU) | FP32 | ✅ | 19.5 | 0.5703 | 69.54 |
| YOLO26s | OpenVINO | FP32 | ✅ | 36.7 | 0.5616 | 17.29 |
| YOLO26s | OpenVINO | FP16 | ✅ | 18.6 | 0.5616 | 17.06 |
| YOLO26s | OpenVINO | INT8 | ✅ | 10.0 | 0.5452 | 10.33 |
| YOLO26m | PyTorch (CPU) | FP32 | ✅ | 42.2 | 0.6196 | 192.22 |
| YOLO26m | OpenVINO | FP32 | ✅ | 78.3 | 0.6187 | 34.64 |
| YOLO26m | OpenVINO | FP16 | ✅ | 39.5 | 0.6187 | 34.75 |
| YOLO26m | OpenVINO | INT8 | ✅ | 20.5 | 0.6073 | 15.99 |
| YOLO26l | PyTorch (CPU) | FP32 | ✅ | 50.7 | 0.6215 | 245.62 |
| YOLO26l | OpenVINO | FP32 | ✅ | 95.3 | 0.6202 | 43.7 |
| YOLO26l | OpenVINO | FP16 | ✅ | 48.1 | 0.6202 | 44.65 |
| YOLO26l | OpenVINO | INT8 | ✅ | 25.2 | 0.6048 | 20.31 |
| YOLO26x | PyTorch (CPU) | FP32 | ✅ | 113.2 | 0.6512 | 513.06 |
| YOLO26x | OpenVINO | FP32 | ✅ | 213.2 | 0.6544 | 80.19 |
| YOLO26x | OpenVINO | FP16 | ✅ | 107.1 | 0.6544 | 79.83 |
| YOLO26x | OpenVINO | INT8 | ✅ | 54.8 | 0.6393 | 35.16 |
复现我们的结果
要复现上述关于所有导出 格式 的 Ultralytics 基准测试,请运行此代码:
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml")请注意,基准测试结果可能会根据系统的确切硬件和软件配置以及运行基准测试时系统的当前工作负载而有所不同。为了获得最可靠的结果,请使用包含大量图像的数据集,即 data='coco.yaml'(5000 张验证图像)。
结论
基准测试结果清楚地证明了将 YOLO26 模型导出为 OpenVINO 格式的优势。在不同的模型和硬件平台上,OpenVINO 格式在推理速度方面始终优于其他格式,同时保持了相当的准确性。
这些基准测试强调了 OpenVINO 作为部署深度学习模型工具的有效性。通过将模型转换为 OpenVINO 格式,开发者可以实现显著的性能提升,从而更轻松地将这些模型部署到实际应用中。
有关使用 OpenVINO 的更多详细信息和说明,请参考 官方 OpenVINO 文档。
常见问题
如何将 YOLO26 模型导出为 OpenVINO 格式?
将 YOLO26 模型导出为 OpenVINO 格式可以显著提高 CPU 速度,并在 Intel 硬件上实现 GPU 和 NPU 加速。要进行导出,你可以使用 Python 或 CLI,如下所示:
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model
model.export(format="openvino") # creates 'yolo26n_openvino_model/'更多信息,请参考 导出格式文档。
将 OpenVINO 与 YOLO26 模型一起使用有什么好处?
将 Intel 的 OpenVINO 工具套件与 YOLO26 模型配合使用具有以下几个优点:
- 性能:CPU 推理速度最高可提升 3 倍,并可利用 Intel GPU 和 NPU 进行加速。
- 模型优化器:转换、优化并执行来自 PyTorch、TensorFlow 和 ONNX 等主流框架的模型。
- 易用性:提供超过 80 个教程笔记本供用户入门,其中包括适用于 YOLO26 的教程。
- 异构执行:通过统一的 API 在各种 Intel 硬件上部署模型。
有关详细的性能对比,请访问我们的 基准测试部分。
我该如何使用导出为 OpenVINO 的 YOLO26 模型运行推理?
将 YOLO26n 模型导出为 OpenVINO 格式后,你可以使用 Python 或 CLI 运行推理:
from ultralytics import YOLO
# Load the exported OpenVINO model
ov_model = YOLO("yolo26n_openvino_model/")
# Run inference
results = ov_model("https://ultralytics.com/images/bus.jpg")有关更多详细信息,请参考我们的 预测模式文档。
为什么在 OpenVINO 导出时我应该选择 Ultralytics YOLO26 而不是其他模型?
Ultralytics YOLO26 针对高准确率和高速的实时目标检测进行了优化。特别是当与 OpenVINO 结合使用时,YOLO26 提供:
- 在 Intel CPU 上速度提升最高可达 3 倍
- 在 Intel GPU 和 NPU 上无缝部署
- 在各种导出格式中保持一致且相当的准确性
如需深入了解性能分析,请查看我们在不同硬件上进行的详细 YOLO26 基准测试。
我可以对 PyTorch、ONNX 和 OpenVINO 等不同格式的 YOLO26 模型进行基准测试吗?
是的,你可以对各种格式(包括 PyTorch、TorchScript、ONNX 和 OpenVINO)的 YOLO26 模型进行基准测试。使用以下代码片段可以在你选择的数据集上运行基准测试:
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Benchmark YOLO26n speed and [accuracy](https://www.ultralytics.com/glossary/accuracy) on the COCO8 dataset for all export formats
results = model.benchmark(data="coco8.yaml")