tensorrt7+cuda10.2+cudnn7.6环境配置与样例运行
- 首先下载trt的源码:
TensorRT-7.0.0.11.Ubuntu-18.04.x86_64-gnu.cuda-10.2.cudnn7.6.tar.gz
- 下载地址:
https://developer.nvidia.com/nvidia-tensorrt-7x-download
- 下载地址:
- 下载好之后就可以把源码解压放到文件夹中
/usr/local
(下边会将该路径配置到系统库路径)
trt+cuda+cudnn的版本一定要有对应关系。
- 然后trt下载的文件名字中就可以发现需要cuda10.2,cudnn7.6,所以就要去对应上自己环境信息。
我自己系统装了cuda10.1版本,然后我又去下载了cuda10.2的版本(
https://developer.nvidia.com/cuda-10.2-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal
),安装的时候不要选择安装驱动,因为我已经装过了,安装好的10.2cuda版本存在/usr/local/
下边,然后我们就需要将使用的cuda-10.2形成新的软连接
-
删除原来的软链接,需要在 /usr/local 目录下:
sudo rm -rf /usr/local/cuda
-
创建新的软链接,cuda-10.2 换成你需要的版本(已安装):
sudo ln -s /usr/local/cuda-10.2 /usr/local/cuda
-
验证操作,查看新的软链接的指向内容:sudo stat /usr/local/cuda
-
然后去官网下载cudnn7.6的压缩包(
https://developer.nvidia.com/rdp/cudnn-archive
),版本的话选择(cudnn-10.2-linux-x64-v7.6.5.32.tgz
),然后使用一下命令来处理- 解压下载的文件,可以看到cuda文件夹,在当前目录打开终端,执行如下命令:
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
- 解压下载的文件,可以看到cuda文件夹,在当前目录打开终端,执行如下命令:
-
然后就需要
sudo gedit ~/.bashrc
中加入一下信息:- 加入cuda配置
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64
- tensorrt
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/TensorRT-7.0.0.11/lib
- 加入cuda配置
-
到这里的话基本上就没啥问题了,然后进入到
/home/jie/下载/TensorRT-7.0.0.11.Ubuntu-18.04.x86_64-gnu.cuda-10.2.cudnn7.6/TensorRT-7.0.0.11/data/mnist
目录下,执行download_pgms.py
文件,下载待测试的mnist数据, -
然后进入
/home/jie/下载/TensorRT-7.0.0.11.Ubuntu-18.04.x86_64-gnu.cuda-10.2.cudnn7.6/TensorRT-7.0.0.11/samples/sampleOnnxMNIST
执行make
,就会在../../bin
中生成可执行文件,就能执行了。 -
tips:
- trt对cuda,cudnn版本要求非常高
- 安装的cuda,tensort都放在了
/usr/local
文件夹下边,并且cudnn是放在了cuda中 - cuda与trt的路径必须配置到系统自带的动态链接库中
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64
命令就是将该文件夹下边的内容加入到ubuntu系统的动态连接库中