Ubuntu16.04配置tensorflow-gpu环境(CUDA+cuDNN)

版权声明:如有侵权,请联系,如有错误,望指正,欢迎转载 https://blog.csdn.net/qq_29630271/article/details/79307151

介绍

  • 搞深度学习使用GPU,将会大大加快训练速度
  • CUDA(Compute Unified Device Architecture):是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎
  • cuDNN(CUDA Deep Neural Network library):是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但是一般会采用这个加速库
  • 本文的目的是简单了解在ubuntu16.04上配置tensorflow-gpu环境的的大致流程,绕过大坑,仅供参考,一定要熟读官方文档,根据官方文档配置,因为本文内容不全
  • 本文在ubuntu16.04上配置环境的版本为(tensorflow-gpu1.5)+(CUDA9.0)+(cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0)

写在前面

  • 操作系统:原生ubuntu16.04
  • gcc/g++:5.4.0
  • 显卡:NVIDIA GeForce 840M
  • 当前CUDA官网最新版本是CUDA Toolkit 9.1
  • 当前cuDNN官网最新版本是cuDNN v7.0.5 (Dec 11, 2017), for CUDA 9.1(cuDNN要注册一下才能下载)
  • 由于tensorflow当前版本是1.5,最高只能支持CUDA9.0,所以要安装的是CUDA9.0

准备工作

  • 找到所有的相应的官方文档,仔细阅读文档
  • 参照cuDNN Install Guide,查看一些注意事项,检查自己的硬件和软件是否符合要求
  • 比如 检查GPU of compute capability和NVIDIA官方驱动版本是否符合要求
  • 还要检查kernel版本,gcc,glibc等版本是否符合要求,原生ubuntu16.04虽然和要求有些出入,但仍然可以配置成功

安装NVIDIA官方驱动

  • ubuntu16.04原来安装的是开源的nouveau驱动,但是CUDA要使用NVIDIA官方驱动,所以要更换显卡驱动
  • 系统设置->软件与更新->附加驱动->选择NVIDIA官方驱动,应用更改并重启,至此驱动安装完毕
  • 注意:这里的NVIDIA官方驱动一定要选择NVIDIA binary dirver-version384.111来自nvidia-384(专有,tested),因为这个版本的驱动才能符合准备工作中NVIDIA官方驱动版本的要求
  • 注意:以上只是操作的一种最简单的方法,你也可以手动卸载nouveau驱动,安装NVIDIA官方驱动,但是配置比较麻烦,操作不当会导致两种驱动冲突,电脑无限重启

安装CUDA

Do you accept the previously read EULA?
accept/decline/quit: accept      

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: no

Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: yes

Enter Toolkit Location
 [ default is /usr/local/cuda-9.0 ]: 

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: yes

Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: yes

Enter CUDA Samples Location
 [ default is /home/wsx ]: 
  • 注意要重启一下使环境变量生效

安装cuDNN

  • 下载cuDNN v7.0.5 Library for Linux,参照官方文档操作
  • 注意要重启一下使环境变量生效

安装tensorflow-gpu

猜你喜欢

转载自blog.csdn.net/qq_29630271/article/details/79307151