ubuntu下安装配置 tensorflow-gpu

配置环境之前要做的工作是知道自己的显卡信息,然后再去官网下载对应版本NVIDIA版本驱动

1、查看显卡信息

nvidia- smi

2、下载对应版本显卡驱动

NVIDIA驱动下载链接 https://www.nvidia.cn/Download/index.aspx?lang=cn

3、禁用开源nouveau驱动

1)打开终端,先删除旧的驱动:

sudo apt-get purge nvidia*

2)禁用自带的 nouveau nvidia驱动

lsmod | grep nouveau

3)创建一个文件

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

4)添加如下内容:

blacklist nouveau
options nouveau modeset=0

5)保存文件退出,执行下面命令更新一下

sudo update-initramfs -u

6)重启电脑,打开终端再次输入命令

lsmod | grep nouveau

如果发现什么都没显示,那么说明禁用nouveau 成功了,

4、安装NVIDIA显卡驱动

1)首先按Ctrl+Alt+F1进入控制台,输入用户名密码登陆,执行下面命令关闭图形界面

sudo service lightdm stop

然后cd切换到存放显卡驱动文件的路径,运行安装文件:

sudo sh NVIDIA-Linux-x86_64-390.42.run --no-opengl-files

必须加上 --no-opengl-files ,否则会出现循环登录(登录之后再退出到登录界面)

5、网上查找tensorflow-gpu所对应的cuda和cudnn版本关系

ubuntu下安装配置 tensorflow-gpu
tensorflow-gpu 1.4版本为分界线,需要cuda8 和 cudnn6,tensorflow-gpu 1.5版本以上都需要cuda9和cudnn7

6、cuda下载

下载链接
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu

7、安装cuda

1)按Ctrl+Alt+F1进入控制台,输入用户名密码登陆,执行命令关闭图形界面

sudo service lightdm stop

2)跳转到存放文件的路径运行安装文件

sudo sh cuda_9.0.176_384.81_linux.run

3)安装开始以后,首先是一个协议,一直按空格到底以后,输入accept。其他的操作如下所示:

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: n
 
Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y
 
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: y
 
Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y

第二个安装显卡驱动一定要选择no,否则之前安装的驱动就白装了,有默认选项的直接选择默认选项就可以了(直接回车)
4)安装完成后,打开图形界面配置环境变量,运行如下命令打开profile文件

sudo service lightdm start   //打开图形界面
sudo gedit  /etc/profile

5)打开文件后在文件末尾添加路径,命令如下:

export  PATH=/usr/local/cuda-9.0/bin:$PATH
export  LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH

根据自己安装的cuda版本,可以将9.0改为8.0或者10.0, 根据自己安装的cuda版本来进行更改
6)保存

sudo ldconfig

7)重启电脑

sudo reboot

8)查看版本

nvcc --version

9)编译例子测试

cd  /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

8、卸载cuda(可选)

1)如果安装错了版本,卸载操作如下:

sudo apt-get remove cuda 

sudo apt-get autoclean

sudo apt-get remove cuda*

2)在目录切换到/usr/local/下

cd /usr/local/

sudo rm -r cuda-9.2

3)添加下环境变量

sudo gedit ~/.bashrc

4)打开文件后,将下面内容添加到文件的最后面,保存后退出

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

5)设置环境变量和动态链接库

sudo gedit /etc/profile

6)在打开的文件末尾加入:

export PATH=/usr/local/cuda/bin:$PATH

7)创建链接文件:

sudo gedit /etc/ld.so.conf.d/cuda.conf

在打开的文件中添加如下语句:

/usr/local/cuda/lib64

8)执行,使链接立即生效

sudo ldconfig

9、下载获取cudnn

下载地址:https://developer.nvidia.com/rdp/cudnn-archive
下载自己对应的CUDA版本的cudnn文件
这里选择 cuDNN v7.0.5 Library for Linux
注意:

千万别选[Power8]的版本,这个是给Power8处理器使用的,由于v7.1.2版本还没提供普通版本,所以就下载了v7.0.5
这里下载是需要注册登陆的

10.安装cudnn

1)解压文件cudnn-9.0-linux-x64-v7.tgz,并且复制到cuda路径中

tar -zxvf cudnn-9.0-linux-x64-v7.tgz
cd cuda    
sudo cp lib64/lib* /usr/local/cuda/lib64/    
sudo cp include/cudnn.h /usr/local/cuda/include/ 

2)更新网络连接:

cd /usr/local/cuda/lib64/  
sudo chmod +r libcudnn.so.7.0.5  //自己查看.so的版本 对应更改  
sudo ln -sf libcudnn.so.7.0.5 libcudnn.so.7  
sudo ln -sf libcudnn.so.7 libcudnn.so  
sudo ldconfig 

3)测试

nvcc -V 

若出现版本信息则表示安装成功

11、安装Anaconda

1)下载安装包
Anaconda 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载
2)进入到相应文件夹进行安装

bash ./Anaconda3-5.0.0-Linux-x86_64.sh

3)更改环境变量

sudo gedit ~/.bashrc

在末端输入

export PATH="/home/coder/anaconda3/bin:$PATH"

4)生效

source ~/.bashrc

4)更换源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

12、卸载Anaconda(可选)

1)删除整个anaconda目录:
由于Anaconda的安装文件都包含在一个目录中,所以直接将该目录删除即可。到包含整个anaconda目录的文件夹下,删除整个Anaconda目录:

rm -rf anaconda文件夹名

2)建议清理下.bashrc中的Anaconda路径:

到根目录下,打开终端并输入:

  sudo gedit ~/.bashrc

在.bashrc文件末尾用#号注释掉之前添加的路径(或直接删除):

export PATH=/your/path/to/anaconda3/bin:$PATH

保存并关闭文件 使其立即生效,在终端执行:

   source ~/.bashrc

3)关闭终端,然后再重启一个新的终端,这一步很重要,不然在原终端上还是绑定有anaconda.

13、安装tensorflow

1)建立独立环境

conda create -n tensorflow python=3.6

2)进入环境

source activate tensorflow

3)安装

pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple (更换源安装很快)

4)测试代码

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

14、安装numpy matplotlib pandas

1)进入环境

source activate tensorflow

2)安装

pip install keras
pip install matplotlib
pip install pandas

3)测试keras

import keras

若出现Using TensorFlow backend 输出,则说明安装keras-gpu安装成功,这是机器上当前GPU设备的情况。