Table of Contents
1 安装Nvidia GPU驱动
2 安装CUDA Toolkit
3 安装cuDNN
4 安装Tensorflow-gpu
到NVIDIA官网下载驱动:
安装前先执行下列方框内的命令,具体内容参考Tensorflow官网。
然后按照提示依次在命令行输入以下命令:
dpkg -i nvidia-diag-driver-local-repo-ubuntu1604-396.44_1.0-1_amd64.deb
apt-get update
apt-get install cuda-drivers
reboot
安装完成后输入
nvidia-smi
如果显示GPU信息则安装成功
下载CUDA Toolkit需要在网站注册,选择操作系统、架构等信息后就可以直接下载了,安装类型此处选deb(local)。然后按照提示在终端依次输入以下命令。此处安装的版本是9.2,第二行的路径根据自己7fa2af80.pub文件的存储位置设置。
sudo dpkg -i cuda-repo-ubuntu1604-9-2-local_9.2.148-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-2-local/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
安装完成后需要设置环境变量,在终端输入
sudo gedit ~/.bashrc
在文件最后一行添加
export PATH=/usr/local/cuda-9.2/bin\${PATH:+:\${PATH}}
此处的路径也要根据自己文件路径设置。
注:如果是采用runfile安装方式,则需要再添加一行
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
最后测试以下是否安装成功(此处编译时间较长,并且需要root权限)
cd /usr/local/cuda-9.2/samples
make
编译完成后执行
cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuery
make
./deviceQuery
如果显示“Result = PASS”表示安装成功,否则重启系统再编译一遍.
到官网下载cuDNN压缩包
解压
tar -zxvf cudnn-9.2-linux-x64-v7.2.1.38.tgz
复制include和lib64文件夹的文件到相应目录,具体路径根据自己情况设定
sudo cp /root/Downloads/cuda/include/cudnn.h /usr/local/cuda-9.2/targets/x86_64-linux/include
sudo cp /root/Downloads/cuda/lib64/libcudnn* /usr/local/cuda-9.2/targets/x86_64-linux/lib
sudo chmod a+r /usr/local/cuda-9.2/targets/x86_64-linux/include/cudnn.h
sudo chmod a+r /usr/local/cuda-9.2/targets/x86_64-linux/lib/libcudnn*
一般Ubuntu中安装了python和pip,可以通过以下命令查看安装的版本
python3 -V
pip3 -V
安装packages
sudo apt-get install python3-pip python3-dev python-virtualenv
sudo pip install -U pip
为虚拟环境创建路径并选择python解释器
mkdir ~/tensorflow
cd ~/tensorflow
virtualenv --system-site-packages -p python3 venv
激活虚拟环境
source ~/tensorflow/venv/bin/activate
此时前面会显示tensorflow,表示在tensorflow环境下
在虚拟环境中安装tensorflow
sudo pip3 install tensorflow-gpu
补充:如果正确安装了GPU驱动、CUDA、cuDNN和Tensorflow-gpu后还是无法通过GPU跑程序,一个可能的原因是当你运行
import tensorflow as tf
默认导入的是Tensorflow,也就是cpu版的Tensorflow,你可以运行以下命令查看安装了哪些包
conda list # 通过Anaconda创建虚拟环境的情况下使用此命令 pip list # 直接创建python虚拟环境的情况下使用此命令
如果同时安装了Tensorflow和Tensorflow-gpu,卸载Tensorflow,再次导入的则是Tensorflow-gpu。
Reference: