ubuntu安装gpu版tensorflow(注意所安装的版本,版本需匹配才能安装成功,文章中会提到)

1.安装nvidia显卡驱动

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  首先安装nvidia驱动,很多教程都说要卸载原来的驱动,安装官方最新的,还要禁用图形功能,退到shell界面进行安装。经博主实际测试发现完全没必要,如果卸载重装还可能导致图形界面无法启动的情况,经验不足的话甚至无法修复,只能重装系统。因此完全没必要,直接利用ubuntu的软件更新器选择nvidia驱动即可

  如下图所示,打开software & updates→ Additional Drivers ,初次打开经过几分钟的等待会显示系统推荐的驱动,选择其推荐的进行安装即可。

ubuntu nvidia卡 下安装cuda8+cudnn6.0+tensorflow1.4 人工智能 第1张

然后命令行执行:

nvidia-smi

ubuntu nvidia卡 下安装cuda8+cudnn6.0+tensorflow1.4 人工智能 第2张

看到以上信息表示安装成功。

2.安装cuda8.0

   去官方下载cuda8.0,https://developer.nvidia.com/cuda-downloads?target_os=Linux,官方的是9.1最新版,历史版本在Legacy Releases下,点击进入选择CUDA Toolkit 8.0 GA1下载。(至于为什么不安装最新的版本,是因为9.1版本要求驱动版本至少是390的(please ensure that you have the latest NVIDIA driver R390 installed. The latest NVIDIA R390 driver is available at: www.nvidia.com/drivers),而通过上面的图片可以看到博主的驱动是384的,因此不能安装9.1版本。)

  然后执行:

sudo ./cuda_8.0.44_linux.run

  前面会显示大量的协议,按住enter不放直到跳过协议,然后按照提示选是或否即可。

  注意:在遇到Install NVIDIA Accelerated Graphics Driver for xxx时,一定要选no,因为已经安装了显卡,就无需再安装了。其他都选默认即可,没有默认就选yes 

  安装结束后,修改环境变量/etc/profile文件,追加如下内容:

export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

        保存退出,执行:source  /etc/profile使环境变量生效 

        然后进入cuda 8.0 sample目录(默认在~目录下),依次执行:

cd 1_Utilities/deviceQuery
make -j4
./deviceQuery

  没有问题出现如下信息:

  ubuntu nvidia卡 下安装cuda8+cudnn6.0+tensorflow1.4 人工智能 第3张

  可以看到Detected 1 CUDA Capable device(检测到一个可用CUDA设备),即安装成功。

 

3.安装cudnn6.0

  去https://developer.nvidia.com/rdp/cudnn-archive 下载cudnn v6.0 for CUDA8.0(需要注册),如图所示选择cuDNN v6.0 Library for Linux

  ubuntu nvidia卡 下安装cuda8+cudnn6.0+tensorflow1.4 人工智能 第4张

  解压后执行:(cp -a 会保存软连接,否则还要手动创建)

sudo cp -a cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp -a 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*

  注:这里一定要选择6.0版本,否则后面会出现版本不匹配的问题,报错:ImportError: libcudnn.so.6: cannot open shared object file: No such file or directory(即tensorflow1.3以上版本要求使用cudnn6.0版本)

 

 

4.pip安装tensorflow1.4

  下载tensorflow-gpu=1.4.0,https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.4.0-cp27-none-linux_x86_64.whl,将链接最后的版本号1.4.0换成对应的版本可下载指定的版本。这里之所以先下载是因为直接执行sudo pip install tensorflow-gpu=1.4.0 的下载速度特别慢,许多pip包安装下载都特别慢,推荐大家先去网上下载.whl文件再用pip安装。或者可以将pip的镜像修改成清华大学的。修改方法如下:

  ①临时修改:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  tensorflow-gpu

  ②永久修改:

  vim  ~/.pip/pip.conf ,追加如下内容:

  [global]

  index-url = https://pypi.tuna.tsinghua.edu.cn/simple

  注:tensorflow1.5以上仅支持cuda9,因此只能安装1.4版本的,否则报错:ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory 

  下载完毕之后执行:

sudo pip install tensorflow_gpu-1.4.0-cp27-none-linux_x86_64.whl  

 

5.验证

  写个简单的python脚本,只要import tensorflow不报错即安装成功。然后就可以将之前写的deep learning训练代码用支持gpu的tf运行,可以感觉明显的提速。

  跑经典的cifar10分类算法(http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/deep_cnn.html),使用tensorflow-cpu每个batch2~3秒,使用gpu以后每个batch0.3~0.5秒(根据配置有所不同,但都会有明显的提速)。

  配置成功后证明cuda可用,博主还成功安装了pytorch,在官网直接执行其推荐的命令即可。

  其他的深度学习框架也可参考相关资料成功配置。 

  

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄