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

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。

相关文章:

Windows onnxruntime编译openvino

理论上来说,可以直接访问 ONNXRuntime Releases 下载 dll 文件,然后从官方文档中下载缺少的头文件以直接调用,但我没有尝试过。 1. 下载 OpenVINO 包 从官网下载 OpenVINO 的安装包并放置在 C:\Program Files (x86) 路径下,例如…...

vue3+TS+vite中Echarts的安装与使用

概述 技术栈:Vue3TsViteEcharts 简述:图文详解,教你如何在Vue项目中引入Echarts,封装Echarts组件,并实现常用Echats图列 文章目录 一,效果图 二,引入Echarts 2.1安装Echarts 2.2main.ts中引…...

期末算法分析程序填空题

目录 5-1 最小生成树(普里姆算法) 5-2 快速排序(分治法) 输入样例: 输出样例: 5-3 归并排序(递归法) 输入样例: 输出样例: 5-4 求解编辑距离问题(动态规划法)…...

搭建android开发环境 android studio

1、环境介绍 在进行安卓开发时,需要掌握java,需要安卓SDK,需要一款编辑器,还需要软件的测试环境(真机或虚拟机)。 早起开发安卓app,使用的是eclipse加安卓SDK,需要自行搭建。 目前开…...

R语言6种将字符转成数字的方法,写在新年来临之际

咱们临床研究中,拿到数据后首先要对数据进行清洗,把数据变成咱们想要的格式,才能进行下一步分析,其中数据中的字符转成数字是个重要的内容,因为字符中常含有特殊符号,不利于分析,转成数字后才能…...

RocketMQ学习笔记(持续更新中......)

目录 1. 单机搭建 2. 测试RocketMQ 3. 集群搭建 4. 集群启动 5. RocketMQ-DashBoard搭建 6. 不同类型消息发送 1.同步消息 2. 异步消息发送 3. 单向发送消息 7. 消费消息 1. 单机搭建 1. 先从rocketmq官网下载二进制包,ftp上传至linux服务器&#xff0c…...

强化学习的基础概念

这节课会介绍一些基本的概念,并结合例子讲解。 在马尔科夫决策框架下介绍这些概念 本博客是基于西湖大学强化学习课程的视屏进行笔记的,这是链接: 课程链接 目录 强化学习的基本概念 state和state space Action和Action Space State transiti…...

excel怎么删除右边无限列(亲测有效)

excel怎么删除右边无限列(亲测有效) 网上很多只用第1步的,删除了根本没用,还是存在,但是隐藏后取消隐藏却是可以的。 找到右边要删除的列的第一个空白列,选中整个列按“ctrlshift>(向右的小箭头)”&am…...

STM32-笔记23-超声波传感器HC-SR04

一、简介 HC-SR04 工作参数&#xff1a; • 探测距离&#xff1a;2~600cm • 探测精度&#xff1a;0.1cm1% • 感应角度&#xff1a;<15 • 输出方式&#xff1a;GPIO • 工作电压&#xff1a;DC 3~5.5V • 工作电流&#xff1a;5.3mA • 工作温度&#xff1a;-40~85℃ 怎么…...

Linux | Ubuntu零基础安装学习cURL文件传输工具

目录 介绍 检查安装包 下载安装 手册 介绍 ‌cURL是一个利用URL语法在命令行下工作的文件传输工具&#xff0c;首次发行于1997年‌‌12。cURL支持多种协议&#xff0c;包括FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3…...

什么是 GPT?Transformer 工作原理的动画展示

大家读完觉得有意义记得关注和点赞&#xff01;&#xff01;&#xff01; 目录 1 图解 “Generative Pre-trained Transformer”&#xff08;GPT&#xff09; 1.1 Generative&#xff1a;生成式 1.1.1 可视化 1.1.2 生成式 vs. 判别式&#xff08;译注&#xff09; 1.2 Pr…...

SpringCloudAlibaba实战入门之路由网关Gateway过滤器(十三)

承接上篇,我们知道除了断言,还有一个重要的功能是过滤器,本节课我们就讲一下常见的网关过滤器及其一般使用。 一、Filter介绍 类似SpringMVC里面的的拦截器Interceptor,Servlet的过滤器。“pre”和“post”分别会在请求被执行前调用和被执行后调用,用来修改请求和响应信…...

电路仿真软件PSIM简介

在从事开关电源相关产品开发的工程师或者正在学习开关电源的学习者&#xff0c;常常会用到各种仿真软件进行电路的仿真&#xff0c;不仅可以快速验证电路参数&#xff0c;还能清楚知道各器件的工作状态。 现在的电路仿真软件很多&#xff0c;例如matlab、Multisim、Simplis&…...

C语言:调试的概念和调试器的选择

所谓调试&#xff08;Dubug&#xff09;&#xff0c;就是跟踪程序的运行过程&#xff0c;从而发现程序的逻辑错误&#xff08;思路错误&#xff09;&#xff0c;或者隐藏的缺陷&#xff08;Bug&#xff09;。 在调试的过程中&#xff0c;我们可以监控程序的每一个细节&#xff…...

25. C++继承 1 (继承的概念与基础使用, 继承的复制兼容规则,继承的作用域)

⭐上篇模板文章&#xff1a;24. C模板 2 (非类型模板参数&#xff0c;模板的特化与模板的分离编译)-CSDN博客 ⭐本篇代码&#xff1a;c学习 橘子真甜/c-learning-of-yzc - 码云 - 开源中国 (gitee.com) ⭐标⭐是比较重要的部分 目录 一. 继承的基础使用 1.1 继承的格式 1.2 …...

git 退出编辑模式

在使用 Git 时&#xff0c;有时需要进入编辑器来输入提交信息或进行其他编辑操作。不同的系统和配置可能会导致使用不同的编辑器。以下是几种常见 Git 编辑器的退出方法&#xff1a; ‌Vim 编辑器‌&#xff1a; ‌保存并退出‌&#xff1a; 按下 Esc 键退出编辑模式。输入 :w…...

内容营销与传统营销方式有哪些差别?

在互联网高度发达的当下&#xff0c;碎片化的信息接收方式&#xff0c;让用户对于营销信息拥有较高的敏感度。这一现状&#xff0c;也使得众多传统营销方式正在逐渐失效。想要稳定推广效率&#xff0c;内容营销是当下不少品牌的共同选择。接下来&#xff0c;就让我们来了解下内…...

EasyExcel(读取操作和填充操作)

文章目录 1.准备Read.xlsx&#xff08;具有两个sheet&#xff09;2.读取第一个sheet中的数据1.模板2.方法3.结果 3.读取所有sheet中的数据1.模板2.方法3.结果 EasyExcel填充1.简单填充1.准备 Fill01.xlsx2.无模版3.方法4.结果 2.列表填充1.准备 Fill02.xlsx2.模板3.方法4.结果 …...

【华为OD-E卷 - 机房布局 100分(python、java、c++、js、c)】

【华为OD-E卷 - 机房布局 100分&#xff08;python、java、c、js、c&#xff09;】 题目 小明正在规划一个大型数据中心机房&#xff0c;为了使得机柜上的机器都能正常满负荷工作&#xff0c;需要确保在每个机柜边上至少要有一个电箱。 为了简化题目&#xff0c;假设这个机房…...

【竞技宝】LOL:IG新赛季分组被质疑

北京时间2024年12月31日&#xff0c;今天已经2024年的最后一天&#xff0c;在进入一月之后&#xff0c;英雄联盟将迎来全新的2025赛季。而目前新赛季第一阶段的抽签结果已经全部出炉&#xff0c;其中人气最高的IG战队在本次抽签中抽到了“绝世好签”引来了网友们的质疑。 首先介…...

OBS智能跟拍插件:3分钟实现直播自动追踪的终极指南

OBS智能跟拍插件&#xff1a;3分钟实现直播自动追踪的终极指南 【免费下载链接】obs-face-tracker Face tracking plugin for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-face-tracker 您是否在直播时经常为手动调整摄像头而烦恼&#xff1f;是否希望…...

你的uniapp扫码功能总失灵?可能是PDA广播没配对!手把手教你从设备设置到代码监听

Uniapp与PDA扫码功能深度整合&#xff1a;从硬件配置到代码监听的完整指南 在移动应用开发领域&#xff0c;PDA&#xff08;便携式数据采集终端&#xff09;与Uniapp的整合已成为许多企业级应用的核心需求。特别是物流仓储、零售盘点等场景下&#xff0c;扫码功能的稳定性直接关…...

FanControl:Windows平台终极风扇控制解决方案

FanControl&#xff1a;Windows平台终极风扇控制解决方案 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanCont…...

大模型应用开发:小白程序员必备的收藏指南——Agent开发与算法岗界限全解析

本文探讨了在大模型应用开发、AI应用开发以及Agent开发中&#xff0c;开发和算法岗位的界限模糊问题。通过分析实习生的困惑、HR的挑战以及行业招聘趋势&#xff0c;指出Agent工程化通常需要开发与算法合作。文章还讨论了应用算法工程师是否会消失&#xff0c;认为虽然岗位可能…...

DayZ单机模组终极指南:打造专属末日世界的5个关键步骤

DayZ单机模组终极指南&#xff1a;打造专属末日世界的5个关键步骤 【免费下载链接】DayZCommunityOfflineMode A community made offline mod for DayZ Standalone 项目地址: https://gitcode.com/gh_mirrors/da/DayZCommunityOfflineMode 厌倦了DayZ在线服务器中的网络…...

构建AI应用时如何利用Taotoken实现多模型备援与故障切换

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 构建AI应用时如何利用Taotoken实现多模型备援与故障切换 在构建面向生产环境的AI应用时&#xff0c;服务的连续性与稳定性是核心考…...

Kindle Comic Converter:漫画爱好者的终极电子阅读器优化工具

Kindle Comic Converter&#xff1a;漫画爱好者的终极电子阅读器优化工具 【免费下载链接】kcc KCC (a.k.a. Kindle Comic Converter) is a comic and manga converter for ebook readers. 项目地址: https://gitcode.com/gh_mirrors/kc/kcc 你是否曾经尝试在Kindle或其…...

基于STM32MP25x构建工业级嵌入式Linux平台:Debian、XFCE、VNC与TSN集成实践

1. 项目概述&#xff1a;一个面向工业边缘的“全能”嵌入式Linux平台最近&#xff0c;我们团队基于STM32MP25x系列核心板&#xff0c;成功构建并发布了一套完整的Debian系统镜像。这个项目的目标非常明确&#xff1a;打造一个开箱即用、功能全面且高度适配工业边缘计算场景的嵌…...

终极AMD Ryzen调试工具SMUDebugTool:免费开源的硬件掌控神器

终极AMD Ryzen调试工具SMUDebugTool&#xff1a;免费开源的硬件掌控神器 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: http…...

LM317电源模块的“隐藏参数”与实战避坑:为什么你的空载电压总是不稳?

LM317电源模块的“隐藏参数”与实战避坑&#xff1a;为什么你的空载电压总是不稳&#xff1f; 在电子设计领域&#xff0c;LM317作为经典的可调线性稳压器&#xff0c;几乎出现在每个工程师的备件库中。但当你按照标准电路搭好原型&#xff0c;却发现空载时输出电压飘忽不定——…...