当前位置: 首页 > article >正文

Windows onnxruntime编译openvino

理论上来说,可以直接访问 ONNXRuntime Releases 下载 dll 文件,然后从官方文档中下载缺少的头文件以直接调用,但我没有尝试过。

1. 下载 OpenVINO 包

从官网下载 OpenVINO 的安装包并放置在 C:\Program Files (x86) 路径下,例如:

C:\Program Files (x86)\Intel\openvino_2024.4.0

2. 克隆源码并编译

从 ONNXRuntime GitHub 仓库 克隆源码。需要注意以下事项:

  • 编译器需要安装 VS2022。
  • 必须通过 git clone 下载源码,因为需要递归克隆第三方库。

克隆命令

git clone --branch v1.20.1 --recursive https://github.com/Microsoft/onnxruntime
cd onnxruntime-1.20.1
pip install -r requirements-dev.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

3. 编译命令

参考官方文档,使用以下命令编译:

./build.bat --config RelWithDebInfo --use_openvino AUTO:GPU,CPU --build_shared_lib --build_wheel

常见问题及解决方法

  1. 报错:找不到 openvino_dir
    设置环境变量,添加 OpenVINO 的安装路径。

    示例:
    设置环境变量示例
    设置环境变量示例

  2. 报错:部分包无法从 Git 拉取
    配置代理解决网络问题。可通过以下命令设置代理,端口号需根据梯子的端口设置:

    git config --global http.https://github.com.proxy socks5://127.0.0.1:10808
    
  3. 报错:Define device 失败
    使用新版代码,因旧版代码的某些头文件存在 Bug。如果非要使用旧版代码,需要对报错的头文件进行更改,报错的原因是对一个const string变量进行修改,需要创建临时变量进行赋值。

4. 生成解决方案

编译完成后,打开 VS2022,直接生成解决方案。生成后的标准目录如下:

生成目录示例

5. 调用代码问题

调用代码时可能会遇到以下错误:

FAIL: LoadLibrary failed with error 126 "" when trying to load "onnxruntime\capi\onnxruntime_providers_openvino.dll"

解决方法:在调用代码前,加载 C:\Program Files (x86)\Intel\openvino_2024.4.0 下的相关 DLL 文件。我选择编写代码,全部加载相关 DLL。


http://www.kler.cn/a/461224.html

相关文章:

  • 【服务器】上传文件到服务器并训练深度学习模型下载服务器文件到本地教程
  • 黑马JavaWeb开发跟学(十四).SpringBootWeb原理
  • ES_如何设置ElasticSearch 8.0版本的匿名访问以及https_http模式的互相切换
  • Leetcode打卡:我的日程安排表II
  • 【卡通风格的的登录界面】
  • 自由学习记录(31)
  • 部分开源数据整理
  • win32汇编环境下,对话框程序中生成listview列表控件,点击标题栏自动排序的示例
  • STM32 高级 物联网通讯之LoRa通讯
  • SNIPE-IT详细安装教程(已安装成功)
  • RabbitMQ - 2 ( 21000 字 RabbitMQ 入门级教程 )
  • Android学习小记3
  • 耳切法简述
  • 矩阵的因子分解3-LU分解和LDU分解
  • WebSocket 入门详解
  • 【每日学点鸿蒙知识】Taro、native层获取文件宽度、位置变化callback、数据迁移、oh_modules说明等
  • QT--多线程
  • 深入浅出 Spring (二)| 依赖注入(DI)、自动装配
  • 课程思政元素收集系统|Java|SSM|JSP|
  • 计算机网络基础知识(7)中科大郑铨老师笔记
  • 【视觉SLAM:四、相机与图像】
  • 公交智眼 4G 录像机:开启安全运营新篇章
  • spring中常见的自动注入方式
  • 论文实现:Reactive Nonholonomic Trajectory Generation via Parametric Optimal Control
  • Vue3 简介
  • C++初步认识函数