Ubuntu 安装 tensorflow-gpu + keras
转载请注明:
仰望大牛的小清新:http://www.cnblogs.com/luruiyuan/
本文原网址:http://www.cnblogs.com/luruiyuan/p/6660142.html
我用的Ubuntu版本是 16.04 ,并且使用了 gnome 作为桌面(这一点无关紧要),经历了许多波折,终于完成了以 tensorflow 为后端的 keras 的安装。
tensorflow-GPU 版本的安装:
1.下载 CUDA 8.0
地址:https://developer.nvidia.com/cuda-downloads
安装如下版本:
2.下载 cuDNN v5 (这里我下载的是 v6, 但是事实证明 tensorflow 不直接支持 v6,除非你自己编译时制定了 v6,否则按照如下教程安装的 tensorflow 只能加载 v5)
地址: https://developer.nvidia.com/cudnn
这里需要先 登录/注册 后才能下载
3.安装 NVIDIA 驱动:
首先打开 terminal,输入一下指令,更新应用列表
sudo apt-get update
多亏了 Linux 社区的强大支持,我们可以用很简洁的方式安装驱动:
按下 win 按键,打开菜单,如图:
然后在上方的 type to search 中输入: additional drivers 打开 "additional drivers —— 附加驱动",然后选择 与自己显卡匹配的 NVIDIA 驱动,我这里是
using nvidia binary drivers (375)
然后选择 应用更改,这里安装可能会失败,此时你可以继续选择应用更改,多安装几次即可
安装完成后,选择 restart
4. gcc 降版本
CUDA8.0 不支持 gcc 5.0 及以上的编译器,而系统自带的是5.4及以上版本,因此我们需要降版本,否则会在后面报错
在terminal中输入如下指令,将 gcc 版本降到 4.9
sudo apt-get install g++-4.9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30 sudo update-alternatives --set cc /usr/bin/gcc sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30 sudo update-alternatives --set c++ /usr/bin/g++
5.安装 CUDA 8.0
cd /media/你的用户名/TOSHIBA\ EXT/alu/CUDA/ # 进入cuda 所在文件夹 # 根据官网上的提示安装 cuda 8.0 sudo dpkg -i cuda-repo-ubuntu1604-8-0-rc_8.0.27-1_amd64.deb sudo apt-get update sudo apt-get install cuda
6. 安装 cuDNN
cd cd /media/你的用户名/TOSHIBA\ EXT/alu/CUDA/ # 进入 cuDNN 安装文件的所在路径 tar xvzf cudnn-8.0-linux-x64-v6.0.tgz # 解压 sudo cp cuda/include/cudnn.h /usr/local/cuda/include # 复制到 include 中 sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 # 复制到 lib64 中 sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* # 讲头文件复制进去
7. 配置CUDA环境变量
开启 GPU 支持:
根据官网教程
我们在terminal中键入下列命令:
sudo gedit ~/.bash_profile # 打开.bash_profile 这是用户的环境变量,不是全局的
然后在打开的文本末尾加入:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64" export CUDA_HOME=/usr/local/cuda
保存并关闭后,输入下列命令使环境变量生效:
source ~/.bash_profile # 使被更改的环境变量生效
安装完成后,一定要通过如下两条命令对驱动进行检验:
1. NVIDIA的设置界面
nvidia-settings # 打开 NVIDIA 设置界面
这条指令打开的界面如下:
2. NVIDIA GPU 列表
nvidia-smi
这条指令会在 terminal 中产生GPU列表,如,我这里只有一个GPU
网上有些人抄别人的博客,说 nvcc -V 就可以验证,经过我实测,存在 nvcc -V 正常输出但是驱动仍安装失败的现象,因此,上述验证方法是不可信的。
8.安装 python3.5.2
由于tensorflow1.0 对于 python3 支持更好,并且目前只支持python3.5.2,因此我们选择 python 3.5.2。
使用 Anaconda3-4.2.0-Linux-x86_64.sh 进行安装,地址如下:
https://repo.continuum.io/archive/
安装完成后,添加环境变量,将其设置为默认的 python 解释器
首先打开环境变量的文件
gedit ~/.bashrc
然后在文件末尾加入 anaconda3 的路径
export PATH=/home/你的路径/anaconda3/bin:$PATH
最后使我们的改动生效
source ~/.bashrc
这样,我们在terminal中输入 python 就会默认打开 anaconda3
这样我们就可以安心使用python3了。
9.安装 keras 和 tensorflow
有了上述安装过程,我们系统中默认的pip将会是anaconda3中自带的pip,这样我们只需要使用pip即可安装 keras 和 tensorflow 到 anaconda 中。
执行如下命令:
pip install tensorflow-gpu keras # 安装 gpu 版本的 tensorflow 和 keras
安装完成后,我们使用如下命令,即可检验是否成功:
python -c "import keras"
如果看到如下输出,就说明安装成功
当然了,我这里安装的 cuDNN 由于版本过高,暂时不能被pip安装的tensorflow所支持,如果改为 cuDNN v5 就能够正常支持了。
希望自己的这篇文章能对像我一样的新手有所帮助。
参考资料: