编译成功截图:
环境:cuda11.0, cudnn8.0.5,tensorrt7.2.3, 显卡驱动是nvidia-driver-460
1.拉取源码
# clone指定分支 发布版1.7.2
git clone -b rel-1.7.2 https://github.com/microsoft/onnxruntime.git
# 拉取子项目
git submodule update --init --recursive
拉取子项目非常耗时,可以点击下面的子项目链接,下载下来,再解压复制到对应的目录中(不建议这样子做,最好用上面命令)。
检查是否还有子类项目需要拉取:
git submodule update --init --recursive
没有输出,说明整个源代码拉取完毕。
2.编译
./build.sh --build_shared_lib --config Release --use_cuda --cudnn_home /usr/local/cuda/ --cuda_home /usr/local/cuda --use_tensorrt --tensorrt_home /usr/lib/x86_64-linux-gnu/
出现的问题:
(1)CMake 3.13 or higher is required,cmake版本过低,不需要卸载cmake,直接更新即可
(2)onnx-tensorrt/builtin_op_importers.cpp:766:12: error: ‘class nvinfer1::IDeconvolutionLayer’ has no m,参考;
这里编译onnxruntime,用到了cuda, cudnn, tensorrt,安装方法参考我的对应博文即可。注意如果tensorrt是deb方式安装,则cuda和必须要deb安装。