Anaconda下GPU版本的tensorflow配置以及keras配置

ubuntu16.04+Anaconda3-5.1.0+tensorflow-gpu1.12.0+cuda9.0+cudnn7.4.1+keras2.2.4

1. pyenv安装

1.1 安装git

$ sudo apt-get install git #安装git
$ git --version #检查版本以及确认已经成功

1.2 开始装pyenv

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv #下载源文件
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc  #定义PYENV_ROOT
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc #定义PYENV_ROOT
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc  #pyenv init

重启终端。

1.3 查看可安装列表

$ pyenv install --list 

1.4 安装Python的依赖包

$ sudo apt-get update
$ sudo apt-get install make build-essential libssl-dev zlib1g-dev
$ sudo apt-get install libbz2-dev libreadline-dev libsqlite3-dev wget curl
$ sudo apt-get install llvm libncurses5-dev libncursesw5-dev

2. 安装Anaconda

清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
Anaconda官网:https://www.anaconda.com/
这里下载的是Anaconda3-5.1.0-Linux-x86_64.sh

$ cd  ~/.pyenv #进入.pyenv配置文件中
$ sudo mkdir cache #新建cache文件夹(默认没有)
$ cp Anaconda3-5.1.0-Linux-x86_64.sh ~/.pyenv/cache #通过cp命令 将xxx.sh文件copy到cache下
$ pyenv install anaconda3-5.1.0 #安装 默认会扫描cache目录下面的文件 所以可以快速安装
$ pyenv rehash # 刷新

3. 安装GPU驱动以及装载CUDA

3.1 卸载原有驱动(针对之前有驱动的情况)

$ sudo apt-get remove --purge nvidia*
$ sudo chmod +x *.run #赋给.run运行的权限
$ sudo ./NVIDA-Linux-x86_64-410.93.run --uninstall #具体版本参考自己的GPU型号去官网查询

3.2 禁止nouveau驱动

$ sudo gedit /etc/modprobe.d/blacklist.conf

# 将下面的两句话加入这个配置文件中保存
blacklist nouveau
options nouveau modeset=0
修改后执行sudo update-initramfs -u,重启电脑后,输入lsmod | grep nouveau。如果屏幕没有任何信息输出,说明禁止成功。

3.3 禁止X-windows服务

$ sudo service lightdm stop #会关闭图形化界面

# 然后Ctrl + Alt + F1 切换到到命令行界面 然后利用账户和密码登录,帐号密码不可以使用小键盘。
# ps:sudo service lightdm start 开启 Ctrl + Alt + F7 即可以切换回去。

3.4 命令行驱动安装

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

$ sudo ./NVIDA-Linux-x86_64-410.93.run --no-opengl-files #不需要安装额外的OpenGL库(ubuntu本身已经有了)

一直看着提示安装,如果出现错误(32bit 兼容...)忽略不计,或者多次反复安装即可。
均默认选项即可。

3.5 驱动测试

$ nvidia-smi #会显示出本机安装的驱动列表 有提示就行了。
# or
$ nvidia-settings #弹出NVIDIA对话框即可

3.6 安装CUDA

CUDA下载:https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=deblocal
#应该下载.run形式而不是deb形式。
#应该在tty界面进行安装。

$ sudo ./cuda_9.0.176_384.81_linux.run --no-opengl-libs

如果进度条不动,那么就一直按着Enter键,然后按着以下选择进行安装。

$ accept #同意安装
$ n #不安装driver,之前已经装载最新驱动
$ y #安装CUDA toolkit
$ 
$ 
$ y #允许创建目录
$ y #允许复制/Sample

3.7 测试CUDA Sample

编译以及测试deviceQuery

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

编译以及测试bandwidthTest

$ cd ../bandwidthTest
$ sudo make
$ ./bandwidthTest

如果两个的结果均为 Result = PASS,说明到现在我们已经完成了CUDA的安装。

3.8 设置cuDNN

cuDNN下载:https://developer.nvidia.com/rdp/cudnn-archive
此处下载的是cuda-9.0

解压命令如下:
如果这个压缩包不是.tgz格式的,把这个压缩包重命名为.tgz格式。解压当前的.tgz格式的软件包到系统中的任意路径(这个路径很重要,以下将该路径的绝对路径简称为/your/path/to/cudnn),解压后的文件夹名为cuda,文件夹中包含两个文件夹:一个为include,另一个为lib64。
例如:我将这个压缩包解压在了/usr/local目录下,那么该文件的绝对路径为/usr/local/cuda

$ tar -zvxf archive_name.tar.gz -C /usr/local

解压下载的cudnn得到cuda这个文件夹并且进入进行以下操作:

由于我安装发现在我的 /usr/local/下会出现cuda以及cuda-9.0`,所以我建议下面的操作两个都需要试试(视情况而定)。

$ sudo cp include/cudnn.h /usr/local/cuda(需要后面都替换为cuda-9.0,后面都需要做两次)/include/ #复制头文件
$ sudo cp lib64/* /usr/local/cuda/lib64/
$ cd /usr/local/cuda/lib64
$ sudo ln -sf libcudnn.so.7.4.1 libcudnn.so.7 #这里生成软链接 根据自己下载cudnn版本不同 其数字会有所不同
$ sudo ln -sf libcudnn.so.7 libcudnn.so
$ sudo ldconfig -v #生成链接
$ ls # 查看一下当前目录下是否存在上面的so文件以及是否会有红色(表示链接错误)

我解压之后发现不需要进行copy操作了,因为相应项已经解压到应该在的位置了,所以只进行了后面生成软链接的步骤。

4. 创建环境安装TensorFlow-GPU

4.1 安装pip

$ sudo apt-get install python-pip

4.2 创建anaconda环境(为TensorFlow做准备)

$ pyenv global anaconda-xxx-xx # 首先切换之前装好的anaconda
$ conda create -n tensorflow(环境名称) #创建tensorflow环境可以理解为容器

4.3 开启TensorFlow环境

$ source activate tensorflow #跟前面的创建的名称一致
(tensorflow)$  # 你的shell就会变成这样 

4.4 安装TensorFlow-GPU

首先需要根据CUDA和cuDNN选择相应的tensorflow版本 这里选择1.2 因为之前的驱动装的版本比较低,因为比较稳定。据你自己情况而定。
具体的适用的表在tensorflow的官网源码安装部分有列出。
tensorflow的官网:https://tensorflow.google.cn/install/source

在不影响主机系统设置的情况下,在虚拟环境中安装软件包。首先升级 pip:

$ pip install --upgrade pip
$ pip list  # show packages installed within the virtual environment

之后要退出虚拟环境,请使用以下命令:

$ source deactivate  # don't exit until you're done using TensorFlow
$ pip install --upgrade tensorflow

然后便可以验证安装效果了:

$ python
$ import tensorflow as tf

不报错以及warning即可。

5. 安装Keras

$ source activate tensorflow # 首先进入我们之前搭建的环境
$ pip install keras #安装keras

等待安装结束,输入python进入环境中。

>>> import tensorflow as tf
>>> import keras

没有报错就完成了所有的搭建。

6. Keras demo

$ git clone https://github.com/fchollet/keras.git
$ cd keras/examples/
$ python mnist_mlp.py

接下来你就会看见很酷的训练数据以及模型,没有任何错误即可。

附录:
1. Anaconda常用命令
$ pyenv versions #查看本地的Python版本
$ pyenv install --list #查看可安装的列表
$ pyenv install xxxx #安装xxx
$ pyenv uninstall xxxx #卸载xxx
$ pyenv global 环境名称 # 设置全局Python环境版本
$ pyenv local 环境名称 # 设置本地shell的Python环境版本
# ps:其他命令请输入pyenv或者查询官方手册查看

2.创建Anaconda下的虚拟环境

$ pyenv global anaconda-xxx-xx #首先切换之前装好的anaconda
$ conda create -n tensorflow(环境名称) #创建tensorflow环境可以理解为容器

引用:
1. 作者:halolong
   链接:https://www.jianshu.com/p/eb6a52925566
   來源:简书
2. 作者:每天都要深度学习
   原文:https://blog.csdn.net/lucifer_zzq/article/details/76675239  
   来源:CSDN

你可能感兴趣的:(Machine,Learning,linux,Anaconda,ubuntu,tensorflow-gpu,keras,MachineLearning)