TensorRT安装 & 环境配置

匿名 (未验证) 提交于 2019-12-02 23:42:01

TensorRT安装&环境配置

环境:

ubuntu14.04, Tesla P4, Python3.4, Cuda8.0, Cudnn7.1.3

概述:

从装有Ubuntu14.04和Python3.4的服务器上实现环境的配置。本文记录了在配置各个必要组件的环节中遇到的问题。

1. 配置Nvidia驱动

服务器显卡是Tesla的P4显卡,在2019.6.13这一天Nivida官网适用Linux-64bit,cuda tookit 8.0的对应驱动(这里指的只有runfile方式)
也只有一个可以下载,即NVIDIA-Linux-x86_64-384.66.run。在下载安装过程中遇到了以下几个问题。

  1. 第一个问题是下载问题。
    Nvidia-Linux-~.run文件下载下来后,显示的文件大小和官网那个上标识的97m不同,我下载了两次都是95.55m和103m,在安装的时候都遇到了错误。

    这里的解决办法就是重新下载驱动,这里的问题就是驱动受损,我重新下载第三次后成功。
  2. 第二个问题是意外。
    如果lspci | grep NVIDIA 没有显示NVIDIA卡,又确定把卡插在了电脑里,那就说明,插卡的卡槽出了问题或者卡出了问题。
  3. 第三个问题是驱动瓦特问题
    如果前面的步骤都没有问题,就是驱动瓦特了,重装一遍即可。

#卸载原来的驱动(残留在服务器里,还没办法用)
$sudo apt-get remove --purge nvidia*
# 到指定位置寻找Nvidia驱动
cd /root/yanxu/runner/
# 执行安装(要改为x权限)
./NVIDIA-Linux-x86_64-384.66.run -no-opengl-files
# 检测
nvidia-smi
打印了显卡信息,成功。


我使用的服务器,不用考虑图形界面问题。另外,服务器本身就已经禁止了nouveau,所以看了其他教程后觉得我不用做nouveau的禁用。

#2.配置Cuda8.0

驱动配置好了之后,根据需要配置cuda和cudnn,在cuda8.0的基础上安装最低版本的cudnn。

  1. cudnn的版本选择很重要,看了官网的Support Matrix Guide
    之后,发现cudnn最低也要使用7.x。尝试安装果cudnn5.x,在使用的时候会报错提示找不到lib~.so.7 ,所以还是要安装cudnn7.x.
  2. cuda8.0安装没什么问题,跟着网上教程,记得更改环境变量即可。(不太了解linux使用root或者各个用户安装有什么不同,我安装到了/usr/local/cuda-8.0里面)

#3. 安装tensorrt
官方的安装有两种主流方法,基于debian的安装方法和基于tar的安装方法。

  1. Debian方法安装

前提:

  1. 要利用root权限才能安装
  2. TensorRT只能安装到固定的路径下
  3. CUDA也要用debian package来安装
  1. Tar方法可以安装到任何路径下,但是需要提前自己安装好所有的依赖(cuda,cudnn等)



    #####具体的命令参考Installation-Guide的第四章,介绍了C++和Python两种接口的tensorRT安装。

#4. 安装pycuda
暂时选择python接口,需要安装对应版本的pycuda。按照网上教程直接安装了pycuda,然后跑demo代码,遇到了一些问题,下面简单介绍遇到的问题。

  1. 跑caff_mnist.py的时候,pycuda报错


    Traceback (most recent call last):

    File “caffe_mnist.py”, line 74, in

    import pycuda.driver as cuda

    File “/usr/local/lib/python3.4/dist-packages/pycuda/driver.py”, line 5, in
    from pycuda._driver import * # noqa

    ImportError: libnvidia-fatbinaryloader.so.367.57: cannot open shared object file: No such file or directory

    就是提示找不到这个.so文件,但是,首先我前一天晚上装好的是Nvidia.384的驱动,并不是367。我就考虑到这个报错可能有两个原因:
  1. 服务器上安装过其他版本的Nvidia367驱动,在我自动pip3 install pycuda==2018.1的时候,pycuda配置的那个版本。
  2. 我在反复安装pycuda的过程中误删了相关的.so文件,可能也会导致显卡驱动瓦特掉(不能用了)。


    果然,检查了nvidia-smi之后,出现了错误,输入命令lspci | grep NVIDIA发现显卡还在,所以就是驱动挂了。决定重装一下驱动,https://blog.csdn.net/weixin_38570251/article/details/80001291. 后来装完驱动重启之后,跑脚本就解决了这个问题。

#5. Pillo安装过程中的一个小问题
因为第一个demo要使用PIL,所以要在python3.4上安装Pillow,发现直接pip3 install Pillow之后会报错,具体返回 AttributeError parallel,
然后查阅资料发现可能最新版本的Pillow和python3.4不兼容,偷懒费大事实锤了,最后 pip3 install Pillow==4.0.0,然后跑demo发现能跑通了。

文章来源: https://blog.csdn.net/qq_33120609/article/details/91887898
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!