pytorch转onnx的c++调用

搞了两天,记录一下学习过程。

pytorch模型转为onnx:

Pytorch网络模型转Onnx格式,多种方法(opencv、onnxruntime、c++)调用Onnx_努力的袁的博客-CSDN博客_c++调用onnx模型

c++使用onnxruntime或者opencv调用onnx模型进行推理:

C++使用onnxruntime/opencv对onnx模型进行推理(附代码)_努力的袁的博客-CSDN博客_c++调用onnx模型

记录一下遇到的坑:

1、opencv安装

2、cmake安装 

3、onnxruntime编译,参考:

ONNXRuntime C++ CMake 工程编译及安装_qq_1041357701的博客-CSDN博客

onnxruntime (C++/CUDA) 编译安装及部署_白色小靴的博客-CSDN博客

注意编译的时候采用:

./build.sh --skip_tests --use_cuda --config Release --build_shared_lib --parallel --cuda_home /usr/local/cuda --cudnn_home /usr/local/cuda

4、编译自己的代码

最后在ubuntu编译的时候加上链接符号(黑体字),在vs里面非常智能都给你做好了,Linux就得靠自己去加链接符号:

g++ models_dog.cpp -I/usr/local/include/opencv4 -I/usr/local/include/onnxruntime/core/session/  -L/usr/local/lib  -lopencv_stitching -lopencv_objdetect  -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core -lonnxruntime -lopencv_dnn

你可能感兴趣的:(神经网络,算法,库类,神经网络,pytorch,人工智能)