本人实践经历

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

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 全过程

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

  1. PowerEdge T630服务器安装机器学习环境(Ubuntu18.04、Nvidia 1080Ti驱动、CUDA及CUDNN安装)

    安装步骤 在开始安装之前,我要说明一下,这个Ubuntu18.04系统的安装,使用的连接线(就是服务器和电脑显示器的连接线)必须两头都是VGA连接线,不能使用VGA转HDMI连接线,也不能用DVI转D ...

  2. Ubuntu18.04+RTX3060显卡配置pytorch、cuda、cudnn和miniconda

    0. 前言 之前已经安装成功了,也发了篇博客梳理了整套流程如下. ubuntu18.04安装pytorch.cuda.cudnn和miniconda_Toblerone_Wind的博客-CSDN博客_ ...

  3. x86_64 ubuntu18.04.4 python3.6.9 安装 cuda8.0 和 cudnn5.1

    文章目录 x86_64 ubuntu18.04.4 python3.6.9 tensorflow1.14-gpu 安装 cuda 和 cudnn 确定cuda和cudnn和tensorflow对应的版 ...

  4. Ubuntu18.04系统中python3.7安装MultiNEAT库

    Ubuntu18.04系统中python3.7安装MultiNEAT库 前言 MultiNEAT介绍 安装问题 boost安装 MultiNEAT安装 安装过程遇到问题及解决方法 前言 MultiNE ...

  5. Ubuntu18.04+ROS+kalibr标定工具箱安装编译

    目录 前言 一.安装ROS 1.设置镜像源 2. 更新软件包索引 3. 安装ROS 4.测试ROS是否安装成功 二.安装kalibr-melodic 1.kalibr简介 2.安装kalibr 3.测 ...

  6. Ubuntu18.04查看显卡信息并安装NVDIA显卡驱动driver + Cuda + Cudnn

    环境搭建01--Ubuntu如何查看显卡信息及安装NVDIA显卡驱动 原来的贴子有点老了,这里更新一下,算是一个快速安装的笔记吧! https://blog.csdn.net/tanmx219/art ...

  7. Ubuntu18.04之有道词典安装(五十九)

    Ubuntu18.04之有道词典安装 1.下载有道词典 <1>.amd64版本 http://cidian.youdao.com/multi.html选择:Ubuntu(amd64)< ...

  8. Ubuntu18.04 + OpenCv 2.4.13安装(亲测有效,内含踩坑解决方案)

    Ubuntu18.04 + OpenCv 2.4.13安装(亲测有效,内含踩坑解决方案) 安装cmake-qt-gui 下载apt包 下载OpenCV并修改一些文件 第一坑:改文件 第二个坑:还是改文 ...

  9. Ubuntu18中安装Nvidia驱动和CUDA和cuDNN库加速

    Ubuntu18中安装Nvidia驱动和CUDA和cuDNN库加速 1 安装Nvidia驱动 1. Software&Updates 中切换驱动 1.2 官网下载驱动文件然后安装 禁用nouv ...

最新文章

  1. 奇怪的问题,.Net 2.0发送邮件失败...
  2. 神经网络基础_反向传播_证明
  3. 利用python批量修改文件名称
  4. vue 导出_Vue核心知识:8.3 vuex在vue-cli中的应用,文件之间的导出与引入
  5. SpringBoot 中的事务处理 @Transactional
  6. combo空间禁止手动输入_国产大空间MPV新选择 上汽大通新款G10国六版本上市
  7. pythondifflib详解_python difflib模块示例讲解
  8. Linux属于开放代码,下面()操作系统是开放源代码的。
  9. 如何设置qq支持临时会话聊天
  10. matlab uicontrol 居中,matlab的uicontrol
  11. tcpdf html table,TCPDF: HTML table and page breaks
  12. plsql使用方法(主要是sql语句)
  13. 不越狱破解A1528 iPhone5s移动联通4G网络
  14. 集团税务共享化、数字化系统如何选型(一)
  15. 2、如何搭建百度离线地图服务
  16. 广东海洋大学微型计算机控制技术,LCD显示实验(综合性)
  17. Python语言程序设计基础_实验2 基本数据类型和运算_答案_通识教育必修课程_上海师范大学
  18. Android面试你必须要知道的那些知识,已拿offer附真题解析
  19. 智能客服机器人的场景应用及功能有哪些
  20. 在c语言中 不可表示的字符是什么,C 语言易错点综合

热门文章

  1. php伪协议实现命令执行,任意文件读取
  2. python语言关键字有哪些_Python之33个关键字是哪些
  3. 生死狙击2服务器响应,当年电脑课上偷玩的游戏出新作了?生死狙击2成国产FPS标杆!...
  4. 混合云架构中的数据加密
  5. python增强对比度_OpenCV-Python-(4)-对比度增强
  6. 39岁阿里P9失业了,总资产1.5亿,真相是什么?
  7. SIM卡的结构和类型
  8. delta-normal var的公式推导
  9. 网络游戏私服行业现状和反私服的措施
  10. matlab遍历矩阵(读取矩阵每一个数据)