
OpenVINO 上手指南10 分钟在 CPU 上跑通图像分类推理【免费下载链接】openvinoOpenVINO™ is an open source toolkit for optimizing and deploying AI inference项目地址: https://gitcode.com/GitHub_Trending/op/openvino手头已有一个训练好的分类模型想在没有 GPU 的办公电脑上又快又稳地跑起来该怎么办本文以一台 Ubuntu 机器为场地带你从源码编译 OpenVINO Runtime 开始把一张图片送进推理管线拿到可读的分类结果。读完并动手后你可以验证三件事完整构建出 OpenVINO 运行时用一条命令把 ONNX 模型转成 IR 格式运行仓库自带示例并看到 Top-10 分类得分。项目速览OpenVINO 是 Intel 开源的深度学习推理优化工具包定位很直接接住你在 PyTorch、ONNX、TensorFlow 等框架里导出的模型为目标硬件做图优化与代码生成让模型脱离原训练框架独立运行。核心特性多框架模型接入PyTorch、TensorFlow、ONNX、PaddlePaddle、JAX 的模型均可转换或直接加载多设备调度同一个模型仅凭一个设备名参数即可在 CPU、Intel GPU、NPU 间切换多语言 APIPython、C、C、JavaScript 都有绑定部署形态自由选择轻量部署目标机上无需安装任何原训练框架只依赖 OpenVINO 运行时项目形态与更多介绍见 README。动手前环境检查与依赖安装先对照这张表确认机器条件数据来自官方构建文档检查项最低要求操作系统Ubuntu 18.04 / 20.0464 位或 RHEL 8.264 位CMake3.26 及以上GCC7.5 及以上Python3.9–3.12仅构建 Python API 时需要Intel GPU 驱动可选需安装 OpenCL 计算运行时才能用核显推理确认无误后最简安装分两步。第一步克隆仓库、初始化子模块并安装系统依赖git clone https://gitcode.com/GitHub_Trending/op/openvino cd openvino git submodule update --init --recursive sudo ./install_build_dependencies.sh第二步创建构建目录并编译。完整说明见 Linux 编译文档。mkdir build cd build cmake -DCMAKE_BUILD_TYPERelease .. cmake --build . --parallel 8低配机器建议把--parallel调小避免内存被打满导致构建卡死。编译产物会落在build目录及仓库根下的bin、lib中。跑通第一个示例图像分类样例仓库自带一个端到端样例 samples/python/hello_classification/它把读模型→推理→出结果串成一条命令。准备输入需要两个文件一个图像分类模型.onnx或 IR 格式.xml/.bin均可和一张图片比如一张猫的照片。模型可以直接用 PyTorch 导出的 ONNX 文件无需先转换——样例两种格式都认。发生了什么这一步只准备原料图片尺寸不必和模型输入一致样例内部会自动缩放。运行命令python samples/python/hello_classification/hello_classification.py \ resnet50.xml cat.jpg CPU发生了什么脚本内部创建ov.Core对象读取模型并编译到CPU设备第三个参数换成别的设备名即可切换硬件。解读输出控制台会打印一张 Top-10 表格每行是class_id与对应的probability。发生了什么推理输出的概率向量被展平后按降序排列得分最高的类别 ID 就是模型认为这张图片最像的东西。如果想自己写而不是调样例核心流程只有这几行图片需与模型输入尺寸一致或参照样例用 PrePostProcessor 做缩放import cv2 import numpy as np import openvino as ov core ov.Core() model core.read_model(resnet50.xml) compiled core.compile_model(model, CPU) image np.expand_dims(cv2.imread(cat.jpg), 0) print(next(iter(compiled.infer_new_request({0: image}).values())))关键机制拆解前端把 ONNX 变成统一中间格式输入一个.onnx文件处理src/frontends/onnx/ 中的源码沿计算图逐节点行走把每个 ONNX 算子映射成 OpenVINO 内部的算子表示同时把权重数据抽出输出OpenVINO 模型对象IR 格式.xml描述图结构.bin存放权重交给运行时编译仓库里的ovc转换工具封装的正是这条链路一条命令即可完成转换源码见 tools/ovc/ovc model.onnx运行时从模型对象到 CPU 可执行程序输入IR 模型 目标设备名处理src/core/ 负责加载、编译调度等核心流程src/plugins/intel_cpu/ 这类设备插件则做图变换、算子融合与针对 CPU 指令集的代码生成输出可直接调用的 compiled model调用infer_new_request即返回推理结果整条链路的分层设计可对照 架构文档 阅读它会解释前端、核心、插件三层各管什么。常见问题排错Q1cmake --build报缺文件或构建中途长时间无响应原因系统构建依赖未装全或子模块没有初始化另一种情况是并行度过高把资源耗尽。 解法先回到上一步确认git submodule update --init --recursive和sudo ./install_build_dependencies.sh都执行过再用较低的--parallel数值重试。Q2源码编译成功后import openvino却报 ModuleNotFoundError原因源码构建的 Python 绑定不在默认搜索路径里。 解法把构建产物目录加入环境变量PYTHONPATH指向bin/intel64/Release/pythonLD_LIBRARY_PATH指向bin/intel64/Release具体路径与 wheel 安装方式见 编译文档的 Python API 章节。Q3core.available_devices里只有 CPU看不到 GPU原因机器缺少 Intel GPU 的 OpenCL 驱动或本机根本不是 Intel 核显。 解法安装 Intel Graphics Compute Runtime for OpenCL Driver 后重启进程再查若硬件不支持仅用 CPU 属于正常现象。下一步学习路线跑通推理只是起点按兴趣挑一条线深入即可模型优化阅读 NNCF 量化指南把 FP32 模型压到 INT8看推理速度能提多少性能测量用 benchmark 工具 一条命令拿到延迟与吞吐数据为优化提供依据生成式模型参考 生成式 AI 工作流文档把 LLM 也部署到本地硬件Physical AI把模型装进机器人策略仓库用 Rerun 工具做逐帧可视化可直观看到每一帧的数据流与推理时间线更多场景与示例见 Physical AI 文档。从源码构建到第一张图的推理结果整条链路你已经完整走过一遍编译得到运行时、转换得到 IR、一行命令得到得分。接下来只需把命令里的模型路径和设备名换成你自己的这套流程就是现成的部署骨架。【免费下载链接】openvinoOpenVINO™ is an open source toolkit for optimizing and deploying AI inference项目地址: https://gitcode.com/GitHub_Trending/op/openvino创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考