为了避免编译失败,CUDA、cudnn、tensorrt、protobuf、onnx-tensorrt版本必须一一对应。
1.驱动安装
略
2.cudnn安装
官网下载:https://developer.nvidia.com/rdp/cudnn-archive
解压得到cuda文件夹
cd cuda/
sudo cp -r include/ /usr/local/include/
sudo cp -r lib64/ /usr/local/lib/
将cuda里include,lib文件拷贝到/usr/local/ 下对应文件夹中。
Tensorrt安装
官方网站:https://developer.nvidia.cn/nvidia-tensorrt-7x-download
如果要注册就注册后再打开。选择你的cuda对应的版本,下载,解压。
同样把include,lib文件拷贝到/usr/local/ 下对应文件夹中。
cd TensorRT-7.2.1.6/
sudo cp -r include/ /usr/local/include/
sudo cp -r lib64/ /usr/local/lib/
3.protobuf编译
源码:https://github.com/protocolbuffers/protobuf
git clone --recursive https://github.com/protocolbuffers/protobuf.git
安装依赖项
sudo apt-get install autoconf automake libtool curl make g++ unzip libffi-dev -y
cd protobuf
./autogen.sh
./configure --prefix=/usr/local/protobuf
make
make check
make install
vim /etc/profile
在文件的末尾添加如下的两行:
export PATH=$PATH:/usr/local/protobuf/bin/
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
source /etc/profile
vim /etc/ld.so.conf
在文件中添加/usr/local/protobuf/lib(注意: 在新行处添加)
ldconfig
输入
protoc --version
可以查看版本
4.onnx-tensorrt编译
如果cmake提示版本低,就按照下面网页更新一下cmake
https://jingyan.baidu.com/article/3ea5148907469d13e71bba6c.html
sudo apt-get install libprotobuf-dev protobuf-compiler
git clone -b 7.2.1 --recursive https://github.com/onnx/onnx-tensorrt.git
cd protobuf/
mkdir build/
cd build/
cmake ..
make -j
sudo make install
大功告成,接下来就可以通过onnx2trt指令转换模型了