如何用visual studio 2019配置OnnxRuntime
onnxruntime 配置方式
這里寫自定義目錄標題
一、下載onnx庫文件
二、用visual studio 2019 解析nupkg包
三、用vs2019中的cmake來配置ONNXRunTime
一直以來都是用的linux系統,突然面對windows有點不知所措,這里記錄一下,如何用vs2019配置OnnxRunTime
一、下載onnx庫文件
這里有兩種方案
1、直接下載include和lib文件
https://github.com/Microsoft/onnxruntime/releases/tag/v1.8.1
2、下載nupkg包
https://www.onnxruntime.ai/
選擇適應自己的版本,博主選用的是cpu版本,如下鏈接
https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime
得到一個microsoft.ml.onnxruntime.1.8.0.nupkg文件
這個包nupkg是visual studio 的NuGet Package的一個包文件 。
這個包里存放著onnx的頭文件和庫文件。
把這個包拷貝到 E:\git\cache路徑
二、用visual studio 2019 解析nupkg包
1、首先用vs2019新建立一個項目
選擇 工具->NuGet管理包->程序包管理控制臺
然后輸入
Install-Package Microsoft.ML.OnnxRuntime -Source E:\git\cache
這里E:\git\cache里面放著 microsoft.ml.onnxruntime.1.8.0.nupkg文件文件
注意,這里一定要建立個工程,才能執行以上的文件,否則會報
Install-Package : 找不到項目“Default”。
的錯誤。
完事后,在一下紅框中的路徑下,
有個\packages\Microsoft.ML.OnnxRuntime.1.8.0有幾個文件
build下的include文件夾,就是onnxruntime的接口頭文件
runtime文件夾下有著各個系統下的算法庫文件。
這里,本文選擇win-x64\native文件夾,這里放著OnnxRunTime的動態庫和靜態庫。
這里,ONNX的nupkg文件已經解析完畢。
三、用vs2019中的cmake來配置ONNXRunTime
習慣了linux系統的我,還是更喜歡用cmake來配置工程
用vs2019建立一個cmake項目
CMakeLists.txt 里添加 ort 的 頭文件和算法庫的路徑等
cmake_minimum_required (VERSION 3.8)
project (“CMakeProject1”)
include_directories(“E:/code/Microsoft.ML.OnnxRuntime.1.8.0/build/native/include”)
include_directories(“E:/opencv4.5.2/opencv/build/include”)
link_directories(“E:/code/Microsoft.ML.OnnxRuntime.1.8.0/runtimes/win-x64/native”)
link_directories(“E:/opencv4.5.2/opencv/build/x64/vc15/lib”)
#link_libraries(onnxruntime)
ADD_EXECUTABLE(hello CMakeProject1.cpp)
target_link_libraries(hello onnxruntime opencv_world452)
1
2
3
4
5
6
7
8
main.cpp文件夾,
#include
#include <assert.h>
#include
#include <onnxruntime_cxx_api.h>
#include
#include <opencv2/opencv.hpp>
int main(int argc, char* argv[]) {
Ort::Env env(ORT_LOGGING_LEVEL_WARNING, “test”);
Ort::SessionOptions session_options;
session_options.SetIntraOpNumThreads(1);
session_options.SetGraphOptimizationLevel(GraphOptimizationLevel::ORT_ENABLE_BASIC);
#ifdef _WIN32
const wchar_t* model_path = L"E:/code/CMakeProject1/CMakeProject1/models/SENet_224.onnx";
#else
const char* model_path = “E:/code/CMakeProject1/CMakeProject1/models/SENet_224.onnx”;
#endif
Ort::Session session(env, model_path, session_options);
// print model input layer (node names, types, shape etc.)
Ort::AllocatorWithDefaultOptions allocator;
size_t num_input_nodes = session.GetInputCount();
std::cout << session.GetInputName(0, allocator) << std::endl;
std::cout << session.GetOutputName(0, allocator) << std::endl;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
運行調試時,可能會報找不到 onnxruntime.dll 的報錯
這個主要是由于windows找不到庫所在的路徑導致的。
解決方案1:
將 onnxruntime.dll文件拷貝到可執行當前目錄
解決方案2:
將 onnxruntime.dll 所在的文件夾添加到系統環境變量。
總結
以上是生活随笔為你收集整理的如何用visual studio 2019配置OnnxRuntime的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10上安装opencv详细教程
- 下一篇: visual studio 2019配置