环境需求

CUDA10.2 可不需要

visual studio2019

Cmake

onnxruntime

Cmake

Cmake安装直接下载win x86_64 Download | CMake

然后安装到系统目录就可以了

安装ONNXRuntim

You may either get a prebuit onnxruntime from Releases · microsoft/onnxruntime · GitHub. For example, you may download onnxruntime-win-x64-***.zip and unzip it to any folder.

解压到指定目录,后续需要填写

下载Onnx sample源码与依赖

(optional) libpng 1.6

https://github.com/microsoft/onnxruntime-inference-examples
编译sample c++项目
cd onnxruntime-inference-examples/c_cxx
mkdir build && cd build
cmake .. -A x64 -T host=x64 -DLIBPNG_ROOTDIR=C:\path\to\your\libpng\binary -DONNXRUNTIME_ROOTDIR=c:\dev\ort_install

#我的例子
cmake .. -A x64 -T host=x64 -DLIBPNG_ROOTDIR=D:\work\libpng -DONNXRUNTIME_ROOTDIR=D:\work\onnxruntime-win-x64-1.11.0

编译后会输出sln项目文件打开

右键单击MNIST 设置MNIST项目为启动项目

不得不表扬一下,微软写的这个虽然丑但是挺好用的

问题

1、需要model.onnx文件的话可以联系留言我,发不上来

Ort::GetApi(...) 返回 nullptr。表示找不到模型文件

2、需要注意的是,如果已经装过onnxruntime,系统目录下会存在,需要将下载后的onnxruntime的动态链接库替换掉原来系统中的,不然会出现版本对应不上的问题,

也可以直接将D:\work\onnxruntime-win-x64-1.11.0\dll中的文件复制到Debugexe同级目录下,会优先链接当前目录下的dll

The given version [11] is not supported, only version 1 to 7 is supported in this build.

拷贝之后dll路径正确 

 下一步就可以通过c++_api.h添加我们的自定义算子了!