Ubuntu16.04+cuda-8.0+cudnn-v5.1+tensorflow0.8-gpu/tensorflow1.0-gpu安装教程

时间:2021-06-02 06:31:59

由于项目需要,我们的深度学习算法必须要加速,因此,组里给了我两个GPU:GTX-750 Ti &  GRID-k2

GTX-750 Ti被我安装在了本地,GRID-k2安装在了服务器上,需要ssh登录上去使用,接下来就是各种坑。。。。。。。。。。。。。。。。。。。。。。。。。。。

一、先说一下GRID-k2,服务器端的安装:

1. 首先如果你也只有这张卡,抱歉,你没办法在   点击这里可以看到cuda支持的GPU   这里找到这张GPU的信息,但是,注意但是,并不是这个不能用,因为你可以查一下,这个GPU是专门为VMware  &  Citrix  等公司虚拟化产品使用的,因此,其计算能力可能不到3.0,因此nvidia觉得没必要放在网上,因此,其实这个卡不适合用于深度学习运算,后面也有效果图可以看到对比。


2. 当然如果你的组里只有这张GRID k2 的卡,那么当然也可以使用,首先,你得下一个对应版本的driver   驱动下载点这里  记住,一定要对应版本的驱动,比如这张GRID k2卡的驱动对应的是Ubuntu16.04+cuda-8.0+cudnn-v5.1+tensorflow0.8-gpu/tensorflow1.0-gpu安装教程


3. 因为我这里是服务器,因此可以在虚拟机上找到你下载的NVIDIA-Linux-x86_64-375.26.run(注意这个就是你的版本信息),当然这里还有一个坑就是,网上有说虚拟机没办法安装GPU的驱动,然后我问了一些人,好像是本地的机器的虚拟机没办法用,服务器的虚拟机是可以用的,至少我是成功的。接下来你可以看看你的GPU是不是已经有原来的驱动,可以通过lsmod | grep nouveau来查看,如果有输出信息,则表示里面有信息,你可以用如下命令禁用原来的驱动:

     1> mv  /lib/modules/(按两下tab,这里是你kernel的版本)/kernel/drivers/gpu/drm/nouveau/nouveau.ko  /lib/modules/(按两下tab,这里是你kernel的版本)/kernel/drivers/gpu/drm/nouveau/nouveau.kp.org

      2>update-initramfs -u 重新加载

      3> reboot 重启电脑

然后你再输入lsmod | grep nouveau,应该就没有输出了,不过现在还没有结束安装前的准备,你还得输入ps aux | grep Xorg 看看你的界面化的linux是否关闭,如果看到

只有一条输出,什么什么color=什么的就表示成功了,如果有很多条打印,你可以试试用service lightdm stop,然后就可以发现其他的Xorg没了,只有前面一条信息了,到此为止,你可以继续安装了。

接下来就是找到linux下文件的位置,输入sudo  bash NVIDIA-Linux-x86_64-375.26.run,  按步骤安装下去,如果中途卡住了一直不动,你也等着,别手贱去暂停 。


4. 接下来安装好驱动应该就可以输入nvidia-smi查看驱动是否安装完成,如果有方框信息显示,说明没问题Ubuntu16.04+cuda-8.0+cudnn-v5.1+tensorflow0.8-gpu/tensorflow1.0-gpu安装教程

显示如上图,如果你没有这样的显示,而是说nvidia-smi: command not found,只能说明你没下对版本,重新下对应版本的,重复上面的步骤。

5.接下来就是安装cuda-8.0,你可以在官方网站 cuda官网 下载,如下图:

Ubuntu16.04+cuda-8.0+cudnn-v5.1+tensorflow0.8-gpu/tensorflow1.0-gpu安装教程

下载local的版本。


6. 找到下载对应的文件的位置,输入sudo sh cuda_8.0.61._375.26_linux.run,记住,你已经安装了驱动,所以当选是否安装驱动那里选n,其余按默认y,还有千万不要企图去

通过cuda里面的driver来安装驱动,因为cuda只能下最新版本的,cuda是向下兼容的,但是driver必须对应版本的,这里我们填了一个大坑。


7. 接下来安装好cuda后就是环境的配置,记住,这里要export两个东西,记得在root下,即sudo su

然后输入如下命令

  1. export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH  
  2. export PATH=/usr/local/cuda-8.0/bin:/usr/local/cuda/bin:$PATH  

再输入nano /etc/profile

到最后一行输入如下

  1. export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH  
  2. export PATH=/usr/local/cuda-8.0/bin:/usr/local/cuda/bin:$PATH  

保存退出

再输入

  1. sudo ldconfig  
更新配置

然后重启 reboot

 

8. 接下来下载cudnn v5.1

下载下来是cudnn-8.0-linux-x64-v5.1

找到下载的路径,cd进去,找到这个文件,输入如下操作:

  1. tar xvzf cudnn-8.0-linux-x64-v5.1-prod.tgz  
  2. sudo cp cuda/include/cudnn.h /usr/local/cuda/include  
  3. sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64  
完成上面的步骤,cudnn安装完成。


9. 接下来是安装tensorflow :

首先下载tensorflow-gpu版本的whl文件,你可以先去这个网站下找    选择tensorflow   你需要版本的tensorflow 要python2.7/python3.4/pthon3.5        /gpu/cpu/        /0.8版本/1.0版本,找到后将对应的<key>......</key>里面的内容和之前的网页结合起来,一按回车就可以下载了,如:https://storage.googleapis.com/tensorflow/+<key>......</key>.

下载好以后,先确认你的Python是3版本以上还是2.7版本的

首先你在命令行里面输入python3,看看能进python环境里面吗,如果能那就输入pip3 install tensorflow....(这里输入你刚才下载的tensorflow的whl文件,会自动安装),就在这里我也遇到一个坑,比如你是安装python3.5版本的,你又想装tensorflow0.8版本,但是网上只能下到,tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl,这时你没办法安装tensorflow0.8,这时你这样做:

输入mv  tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl  tensorflow-0.8.0-py3-none-linux_x86_64.whl,也就是换个名字

这样你再输入pip3 install  tensorflow-0.8.0-py3-none-linux_x86_64.whl就没问题了

但是这是0.8版本遇到的问题,因为1.0版本是有cp35的,就没有这样的问题。

另外说一下,我没有安装anaconda3,所以没有安装这些的过程。


10. 安装完成后,你可以试试有没有成功,命令行输入python3(因为我这里环境是python3)

>>> import tensorflow as tf

会出现:

Ubuntu16.04+cuda-8.0+cudnn-v5.1+tensorflow0.8-gpu/tensorflow1.0-gpu安装教程

说明安装成功一半,再试试输入

>>>a=tf.constant(20)

>>>sess=tf.Session()

>>>sess.run(a+a)

如果能输出结果才表示安装成功。但是请注意。。。。。。。。。。。这里有一个大问题。。。。。。。。。。其实tensorflow0.8-gpu版本不支持cuda,因此你想用gpu,则必须使用tensorflow1.0-gpu版本的,因此安装0.8版本的就会出现   python3   free():......记不得了,一个错误,说core   dumped,这里我也是遇到坑,所以请安装tensorflow1.0,如果你安装的是0.8版本的,没关系,你直接安装1.0,会自动覆盖你的0.8版本,就没有了上面的问题了。


到这里,安装全部完成,你可以跑你的程序了。


二. GTX-750-Ti

接下来是这块卡,别小看这张卡,效果比上面那张卡的计算性能高太多,当然价格却便宜10倍。

这张卡的安装可以基本参考上面的步骤,唯一不同的就是两点

1. 这张卡本地物理机就可以带的动,那么就没有虚拟机的概念,我直接把本机装了一个ubuntu16.04.

2. 这张卡的驱动得重新下,不能用上一张卡的驱动,不然会错乱,应该重新下对应版本的卡,也还是  驱动下载点这里  这里下,找对应GeForce下载。

Ubuntu16.04+cuda-8.0+cudnn-v5.1+tensorflow0.8-gpu/tensorflow1.0-gpu安装教程

点击搜索就可以找到相应版本的驱动下载,然后步骤和上面的完全一致,直到安装成功。