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.pswp.cn/web/64991.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/64991.shtml
英文地址,請注明出處:http://en.pswp.cn/web/64991.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue3 中的插槽

Vue3 中插槽的使用&#xff0c;插槽是 Vue 中的一個特別特性&#xff0c;插槽就是模版內容。例如<h1>標題 1</h1>標題 1 就是插槽&#xff0c;Vue 是無法識別模板內容的&#xff0c;只能通過屬性進行傳遞。Slot 主要包括默認、具名和作用域。Slot開發起來難度不大&…

01.02周四F34-Day43打卡

文章目錄 1. 地是濕的。昨晚估計下雨了。2. 你可能把包丟在餐廳里了吧?3. 她說他可能誤了航班。4. 我本來應該早點來的,但路上特別堵。5. 約翰可能在那次事故中受了重傷。6. 這是一個情景對話7. 我本可以走另一條路的。8. 我準是瘦了不少,你看我這褲子現在多肥。9. 錢沒了!會…

深度學習:基于MindSpore NLP的數據并行訓練

什么是數據并行&#xff1f; 數據并行&#xff08;Data Parallelism, DP&#xff09;的核心思想是將大規模的數據集分割成若干個較小的數據子集&#xff0c;并將這些子集分配到不同的 NPU 計算節點上&#xff0c;每個節點運行相同的模型副本&#xff0c;但處理不同的數據子集。…

五類推理(邏輯推理、概率推理、圖推理、基于深度學習的推理)的開源庫 (一)

在開發中&#xff0c;有一些開源庫可以實現不同類型的推理&#xff0c;包括邏輯推理、概率推理、圖推理、基于深度學習的推理等。以下是五類推理&#xff08;邏輯推理、概率推理、圖推理、基于深度學習的推理&#xff09;的現成開源庫&#xff0c;它們各自的功能、特點和適用場…

高等數學學習筆記 ? 函數的極限

1. 函數的極限定義 備注&#xff1a;已知坐標軸上一點&#xff0c;則&#xff1a; ①&#xff1a;的鄰域&#xff1a;指附近的開區間&#xff0c;記作。 ②&#xff1a;的去心鄰域&#xff1a;指附近的開區間&#xff0c;但不包含&#xff0c;記作。 ③&#xff1a;的鄰域&…

Python用K-Means均值聚類、LRFMC模型對航空公司客戶數據價值可視化分析指標應用|數據分享...

全文鏈接&#xff1a;https://tecdat.cn/?p38708 分析師&#xff1a;Yuling Fang 信息時代的來臨使得企業營銷焦點從產品中心轉向客戶中心&#xff0c;客戶關系管理成為企業的核心問題&#xff08;點擊文末“閱讀原文”獲取完整代碼數據&#xff09;。 客戶關系管理的關鍵是客…

【前端系列】優化axios響應攔截器

文章目錄 一、前言&#x1f680;&#x1f680;&#x1f680;二、axios響應攔截器&#xff1a;??????2.1 為什么前端需要響應攔截器element ui的消息組件 一、前言&#x1f680;&#x1f680;&#x1f680; ?? 回報不在行動之后&#xff0c;回報在行動之中。 這個系列可…

【 IEEE 獨立出版 · EI核心、Scopus穩定檢索 】第二屆算法、軟件工程與網絡安全國際學術會議(ASENS 2025)

ASENS 2025 第二屆算法、軟件工程與網絡安全國際學術會議 2025 2nd International Conference on Algorithms, Software Engineering and Network Security 中國 廣州 2025年3月21-23日 會議官網&#xff1a;www.ic-asens.org IEEE 獨立出版 EI核心、Scopus快速…

/ete/security/limits.conf參數詳解

/ete/security/limits.conf配置文件 內容如下&#xff1a; * soft nofile 65535 * hard nofile 65535參數詳解 *: 表示對所有用戶生效soft: 表示軟限制&#xff0c;即用戶可以通過ulimit命令自行調整該值hard: 表示硬限制&#xff0c;即用戶無法通過ulimit命令將該值調整超過…

#Vue3篇: 無感刷新token的原理JSESSIONID無感刷新和JWT接口刷新

基于這個后端是怎么更新token的 為了理解后端是如何更新 Token 的&#xff0c;我們需要考慮一個典型的基于 Token 的身份驗證流程&#xff0c;特別是涉及 JSESSIONID 和自定義 Token&#xff08;如 JWT, JSON Web Token&#xff09;的情況。 下面我將介紹兩種常見的更新 Token …

模塊化通訊管理機在物聯網系統中的應用

安科瑞劉鴻鵬 摘要 隨著能源結構轉型和智能化電網的推進&#xff0c;電力物聯網逐漸成為智能電網的重要組成部分。本文以安科瑞ANet系列智能通信管理機為例&#xff0c;探討其在電力物聯網中的應用&#xff0c;包括數據采集、規約轉換、邊緣計算、遠程控制等技術實踐&#…

Python基于Gradio可視化部署機器學習應用

Gradio 是一個用于快速創建機器學習模型和用戶界面之間交互的 Python 庫。它允許你無需編寫大量前端代碼&#xff0c;就能將機器學習模型部署為可交互的網頁應用。以下是一個基于 Gradio 可視化部署機器學習應用的基本步驟&#xff1a; 安裝 Gradio&#xff1a; 首先&#xff0…

Springboot使用RabbitMQ實現關閉超時訂單的一個簡單示例

1.maven中引入rabbitmq的依賴&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency> 2.application.yml中進行rabbitmq相關配置&#xff1a; # rabbit…

AE Pinnacle 10x6 kW DeviceNet MDXL User r Manual

AE Pinnacle 10x6 kW DeviceNet MDXL User r Manual

vscode中調用deepseek實現AI輔助編程

來自 Python大數據分析 費弗里 1 簡介 大家好我是費老師&#xff0c;最近國產大模型Deepseek v3新版本憑借其優秀的模型推理能力&#xff0c;討論度非常之高&#x1f525;&#xff0c;且其官網提供的相關大模型API接口服務價格一直走的“價格屠夫”路線&#xff0c;性價比很高…

慧集通iPaaS集成平臺低代碼培訓-基礎篇

訓練使用素材&#xff1a; 1.數據源&#xff1a; 單號業務日期工廠倉庫物料單位數量批次0100012022-5-1210031001030001kg500202304150100012022-5-1210031001030001kg122202304150100012022-5-1210031001030001kg1250202304150100012022-5-1210031001030002kg130202304110100…

在Linux下安裝部署Tomcat教程

摘要 Tomcat是由Apache開發的要給Servlet容器,實現了對Servlet 和JSP的支持,并提供了作為Web服務器的一些特有功能,如Tomcat管理和控制平臺,安全管理和Tomcat閥等。簡單來說,Tomcat是一個由WEB應用程序的托管平臺,可以讓用戶編寫的WEB應用程序,別Tomcat所托管,并提供網…

《探秘開源大模型:AI 世界的“超級引擎”》

《探秘開源大模型:AI 世界的“超級引擎”》 一、開源大模型崛起之路二、開源大模型發展歷程回顧(一)早期奠基:理論突破與初步實踐(二)快速發展:百花齊放的模型格局(三)當下態勢:走向成熟與多元融合三、開源大模型核心技術剖析(一)Transformer 架構:基石之穩(二)…

Leetcode打卡:我的日程安排表II

執行結果&#xff1a;通過 題目 731 我的日程安排表II 實現一個程序來存放你的日程安排。如果要添加的時間內不會導致三重預訂時&#xff0c;則可以存儲這個新的日程安排。 當三個日程安排有一些時間上的交叉時&#xff08;例如三個日程安排都在同一時間內&#xff09;&#…

實現一個通用的樹形結構構建工具

文章目錄 1. 前言2. 樹結構3. 具體實現邏輯3.1 TreeNode3.2 TreeUtils3.3 例子 4. 小結 1. 前言 樹結構的生成在項目中應該都比較常見&#xff0c;比如部門結構樹的生成&#xff0c;目錄結構樹的生成&#xff0c;但是大家有沒有想過&#xff0c;如果在一個項目中有多個樹結構&…