【服务器管理】Ubuntu18.04下安装TensorRT(已经安装CUDA和cudnn的情况下)

本人实践经历

在运行深度学习项目,常常遇到警告内容:

021-06-16 15:51:21.131229: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory
2021-06-16 15:51:21.131328: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer_plugin.so.6'; dlerror: libnvinfer_plugin.so.6: cannot open shared object file: No such file or directory
2021-06-16 15:51:21.131340: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
2021-06-16 15:51:21.131398: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer.so.6'; dlerror: libnvinfer.so.6: cannot open shared object file: No such file or directory
2021-06-16 15:51:21.131477: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libnvinfer_plugin.so.6'; dlerror: libnvinfer_plugin.so.6: cannot open shared object file: No such file or directory
2021-06-16 15:51:21.131488: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:30] Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.

概括起来就是,找不到’libnvinfer.so.6’、‘libnvinfer_plugin.so.6’、‘libnvinfer.so.6’、'libnvinfer_plugin.so.6’这些TensorRT的文件。
也就是说,系统并没有安装TensorRT,而且这里的数字6表明没有安装TensorRT6。

但是,网上的教程通常是从零开始配置深度学习环境的,其中的TensorRT6安装教程不适合已有深度学习环境的配置。

确保你自己是使用zar包安装,而不是deb包安装

在安装TensorRT时,您可以选择以下安装选项 :Debian或RPM软件包、tar文件或zip文件。Debian和RPM安装会自动安装任何依赖项,但是:

  • 需要sudo或root权限才能安装
  • 对于TensorRT的安装位置没有灵活性
  • 要求CUDA工具包和cuDNN也已使用Debian或RPM包安装。
  • 不允许同时安装多个次要版本的TensorRT

TensorRT需要通过官网:https://developer.nvidia.com/zh-cn/tensorrt下载,你需要准备一个账号,或者重新注册一个账号。

截止2021.06.16,TensorRT已经有8个版本了:
在这里插入图片描述
由于我运行代码报告的警告是没有TensorRT6,所以我安装的是TensorRT6。

实际上,TensorRT与CUDA、cudnn均有一定的版本关系,不能盲目安装最新版本。所以需要首先明确你自己当前使用的CUDA版本。通常来说,我们都会在服务器安装多个版本的CUDA,但会软连接一个默认版本到/usr/local/cuda。这种情况下,使用下述方式查看版本并不靠谱:

cat /usr/local/cuda/version.txt
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

上述语句查出来的只是软连接版本,但是我们往往可以通过~/.bashrc配置文件去指定CUDA版本,所以,首先应该打开你的~/.bashrc文件,查看是否有配置记录:

vim ~/.bashrc

例如,我在自己当前账号的~/.bashrc文件指定了CUDA版本路径
在这里插入图片描述
因此,正确的查询办法为:

cat /usr/local/cuda-10.2/version.txt
cat /usr/local/cuda-10.2/include/cudnn.h | grep CUDNN_MAJOR -A 2

最终,我确定自己的配置为Ubuntu18.04、CUDA-10.2(cudnn7.6.5),从而可以选择确定的tar文件下载。

在这里插入图片描述
最终我下载的文件为:

TensorRT-6.0.1.8.Ubuntu-18.04.x86_64-gnu.cuda-10.2.cudnn7.6.tar.gz

这里稍微描述一下,6.0.1.8为TensorRT版本号,后面跟着的是系统名称及其版本,CUDA版本、CUDNN版本,再次检验,该版本符合我的使用需求。

切换到下载文件的目录,然后解压该tar包,这里不要盲目复制我的命令,后面的文件名以实际下载的文件名为准:

tar zxvf TensorRT-6.0.1.8.Ubuntu-18.04.x86_64-gnu.cuda-10.2.cudnn7.6.tar.gz

解压后,会在当前路径增加一个目录TensorRT-6.0.1.8,也就是TensorRT-版本号形式

如果你是root用户,打算安装的TensorRT需要为多个用户使用,那么,需要将该文件夹复制到/usr/local路径下,方便其他用户查看以及在个人的~/.bashrc文件配置。

sudo cp -R ./TensorRT-6.0.1.8 /usr/local

然后进入到TensorRT-6.0.1.8目录(如果计划放置在/usr/local下面),则切换到

cd /usr/local/TensorRT-6.0.1.8

否则根据你的实际放置目录切换。

然后查看有哪些子目录:

ls

在这里插入图片描述
首先切换至python子目录

cd python
ls

在这里插入图片描述
如果系统默认使用的是Python 2.7,则运行:

sudo pip2 install tensorrt-6.0.1.8-cp27-none-linux_x86_64.whl

这里同样需要根据实际情况选择

然后,切换至graphsurgeon子目录

cd ../graphsurgeon
ls

使用以下命令进行安装:

sudo pip2 install graphsurgeon-0.4.1-py2.py3-none-any.whl

配置~/.bashrc文件

vim ~/.bashrc

增加以下语句:

# for CUDA
export PATH="/usr/local/cuda-10.2/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH"

# for TensorRT
export CUDA_INSTALL_DIR="/usr/local/cuda-10.2"
export CUDNN_INSTALL_DIR="/usr/local/cuda-10.2"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/TensorRT-6.0.1.8/lib"

这里的路径、cuda版本、TensorRT版本需要结合实际安装情况来确定!

最后source一下:

source ~/.bashrc

运行原有代码提示成功打开dynamic library

在这里插入图片描述

参考

[1] https://blog.csdn.net/weixin_41552975/article/details/114238425
[2] 【TensorRT】tensorRT 7.0的安装配置
[3] Ubuntu16.04 安装tensorRT 全过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YirongChen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值