Ubuntu16.04+CUDA+CUDNN+Anaconda+Tensorflow+keras深度学习环境搭建

  1. CUDA安装
    (1)下载cuda的包放在电脑中,根据自己的系统选择版本,注意Ubuntu下载请务必下载runfile文件(后缀为.run),不能是其它文件
    选择cuda版本
    (2)在终端对下载好的包进行安装操作
    用cd命令进行文件夹打开(cd命令的功能是切换到指定的目录:命令格式:cd [目录名]
    目录名有几个符号有特殊的含义,“..”代表上一级目录、“~”代表HOME目录、“-”代表前一目录。注意cd和后面的符号是有空格间隔的),本次安装中cuda包早下载文件夹进行存放故 cd 下载
    打开文件夹后利用 sudo sh xxx 进行cuda的安装。此处xxx为你下载的cuda包的版本。因为调用sudo权限所以需输入密码,输入密码完成后会出现类似用户协议的的内容,一直点击回车将该部分读完,最后会会有提示输入accept接受协议。
    安装cuda
    在后边的安装内容中需注意的是,会提示你是否需要安装NVIDIA的显卡驱动,若载安装cuda之前已经安装好显卡驱动则该步骤选择n。在该命令出现时会出现cuda中包含的显卡驱动的版本号,也可以与你之前安装的显卡驱动进行比较,查看已经安装好的显卡驱动版本,可以在终端输入:nvidia-smi 进行查看。通常自己装的显卡驱动版本都比这个高。下面的语句是cuda询问是否进行驱动安装的语句,在该处需要注意。
  Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
(y)es/(n)o/(q)uit: n

其他部分内容直接选择y或enter进行操作即可。下图为安装过程。
cuda安装过程
(3)验证CUDA安装是否成功
利用nvcc –version命令进行验证。在验证是笔者提示nvcc未安装,又按照命令提示进行了nvcc的安装,如下图所示
nvcc
安装命令为sudo apt install nvidia-cuda-toolkit 安装时间较长。安装完成后继续输入nvcc –version命令进行验证,结果如下则表示安装成功。
nvcc安装成功
(4)添加环境变量【注:关于这一点,安装完cuda之后,命令行中有提示!!!细心看一下】
路径提示

用$ sudo gedit /etc/profile命令进行环境变量的添加。输入该命令后最出现如下界面,在文档的最后边输入:

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

然后点击保存并关闭打开的文件,再在终端中输入:source /etc/profile,使设置生效。
这里写图片描述

这里写图片描述

在profile文件中进行修改时,终端产生如下提示,笔者未管,继续执行 source /etc/profile命令是刚才的设置生效。然后笔者又执行了sudo vi /etc/profile命令,结果如下,(需注意的是从该窗口退出的方法为,先点击ESC键,然后输入 :wq 共三个字符,然后确定)命令结果中公环境变量已经包含进去。
这里写图片描述
(5)检验环境是否设置好
打开终端,输入cuda,接着按2次”Tab键“,如果有弹出的命令提示,就说明环境配置成功。
这里写图片描述

cuDNN安装
!!注意本部分教程本来笔者安装的是v5.1版本,但在安装tensorflow之后,进行测试时提示笔者安装的tensorflow找不到cudnn.so.6等错误提示,因此笔者又重新安装的cudnn v6.0版本,安装步骤与下面的一样,附v6.0百度云链接链接: https://pan.baidu.com/s/1bpFB5nh 密码: yc7u
首先下载cudnn的安装包,本次使用的为v5.1版本,下载百度云链接为链接: https://pan.baidu.com/s/1mij4Z1I 密码: 1rpf
将包下载完成后有终端打开文件包的存放文件夹,本此安装中将包放在下载文件加中。

cd 下载
利用tar命令对包进行解压
sudo tar xvf cudnn-8.0-linux-x64-v5.1.tgz

解压后会在存放路径中产生一个cuda文件夹,其内部包含include 与lib64 文件夹,include中为cudnn的头文件cudnn.h lib64中为库文件libcudnn.so libcudnn.so.5 libcudnn.so.5.1.10 libcudnn_static.a 其中,libcudnn.so.5.1.10是动态链接库文件,libcudnn.so.5 是指向libcudnn.so.5.1.10的符号链接文件,libcudnn.so是指向libcudnn.so.5 的符号链接文件,libcudnn_static.a 是静态库文件。
然后需要把头文件与库文件分别拷贝到前一步安装的cuda路径中,本机的cuda安装路径为/usr/local/cuda
利用命令进行拷贝,代码为

cd cuda     %这个cuda是刚刚解压的包出来的文件夹,即本命令是接着上一命令在同一终端输入的

sudo cp lib64/* /usr/local/cuda/lib64/

sudo cp include/* /usr/local/cuda/include/

这时候本来已经可以了,但是由于权限的原因原来的两个符号链接文件(libcudnn.so,libcudnn.so.5)已经失效了,直接编译便会报错,所以这时手动生成符号链接。
解决方法是:在本机安装cuda的文件中将软链接解除,再修改文件权限,并创建新的软连接。命令如下
这里写图片描述

Anaconda 安装
各大深度学习框架支持Python较为居多,Python在科学计算和数据挖掘领域可以说是独领风骚。虽然有来自R、Julia等语言的竞争压力,但是Python的各种库实在是太完善了,Web开发、数据可视化、数据预处理、数据库连接、爬虫等无所不能,有一个完美的生态环境。仅在数据挖据工具链上,Python就有NumPy、SciPy、Pandas、Scikit-learn、XGBoost等组件,做数据采集和预处理都非常方便,并且之后的模型训练阶段可以和TensorFlow等基于Python的深度学习框架完美衔接。所以这里我们也选择Python作为深度的学习的开发语言。
Anaconda包括里python和几乎平时开发所有库,不用总发愁开发中所需要的功能库的安装最后就是spyder的主界面。调试程序和变量查看窗口都很好用。

Anaconda3-4.2.0-Linux-x86_64.sh版本该版本为python3.5, Anaconda3-4.3.1-Linux-x86_64.sh,Anaconda3-4.4.0-Linux-x86_64.sh对应的为python3.6。本次安装选择python3.5版本
anaconda的下载链接为 https://repo.continuum.io/archive/
下载完成后需对anaconda进行安装,进入anaconda存放目录,利用命令

bash Anaconda3-4.2.0-Linux-x86_64.sh 

进行安装,进入安装后会进入用户协议的于都一路确定最后输入yes同意协议,同意后会询问安装路径,按enter键同意进入安装,安装完成后会询问是否添加环境变量,输入yes。注意这里不要用sudo bash 命令进行安装,笔者第一次安装时用的sudo bash命令进行安装,但是在后续用pip命令进行tensorflow时,提示pip版本过低,需要进行更新,但是依照终端给出的命令进行操作时,提示权限不够无法安装,这时再用sudo命令进行更新pip依旧提示无效,然后笔者选择关机重启直接导致pip功能无法使用,在重装anaconda后依旧有问题,最终无奈重装系统,因此在anaconda安装时不要用sudo bash安装
anaconda安装后最好进行换源操作,因为pip ,conda,apt-get等命令进行操作时候链接的是境外的镜像文件,速度比较慢。可以将源换为国内源。
1.更换pip源:
cd到根目录,命令行输入:sudo mkdir .pip,新建一个名为“.pip”的文件夹。
创建pip配置文件:sudo vi ~/.pip/pip.conf,在vi界面中插入以下这句话:

[global]
index-url = https://pypi.douban.com/simple

然后按esc键,按下“:wq”(注意不包含双引号,记得要包括冒号),然后回车退出。
即可把pip源更新为国内豆瓣镜像
2.更换conda源
除了可以pip安装之外,也可以使用conda install xxx来安装第三方python包,要更换为国内镜像,创建配置文件:sudo vi ~/.condarc
加入以下几句:

channels:

- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

- defaults

show_channel_urls: true

然后按esc键,按下“:wq”(注意不包含双引号,记得要包括冒号),然后回车退出。
3.更换apt-get源
直接看这里:Ubuntu 14.04 更换阿里云源
备份旧版本:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份

修改文件:

sudo vim /etc/apt/sources.list

在底部加入以下语句:

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

保存退出。

Tensorflow 及 keras 安装
在anaconda安装完成后需要进行的是tensorflow学习环境的安装,在anaconda下安装tensorflow需要建立anaconda的conda执行环境
常用命令:列出当前 conda 环境所链接的软件包 conda list
建立conda环境 conda create -n 环境名 -c 镜像源
检查Anaconda的config:conda config –show
利用命令 conda create -n tensorflow-gpu python=3.5 建立一个名为tensorflow-gpu的python3.5环境,注意要写对python版本。
在此步骤时,由于笔者前面对conda镜像进行了换源,但是换过清华源之后conda一直链接不上清华的源,产生了报错,于是又将清华源删除,换为默认源具体如下图所示
清华源链接错误

从图中可以看出 conda config –show 后显示channels已经有清华的源地址,但是在后续创建conda环境时显示无法链接,因此利用命令conda config –remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 将清华的源地址移除换为原来的默认源 。然后再次 conda config –show 显示清华源已经移除,再次建立conda环境是成功建立。
这里写图片描述
这里写图片描述
conda环境的激活与关闭

source activate tensorflow-gpu  激活 tensorflow-gpu 环境
source deactivate tensorflow-gpu  关闭 tensorflow-gpu 环境

安装tensorflow时首先激活建立的环境,然后可以直接在激活的环境中pip install tensorflow-gpu 这里gpu版本为tensorflow-gpu,非gpu版本为tensorflow 因为在前面安装玩anaconda后我们进行了pip换源,将pip改为了国内的豆瓣源因此下载速度还是很快的。
笔者在安装时已经下载好tensorflow-gpu的安装包,因此直接到开存放路径进行安装,具体步骤如下图中所示。
这里写图片描述

注意:此处进行pip安装时可能会出现pip版本过低的提示,根据终端给出的命令提示进行升级即可。这点在安装anaconda时已经提到过,在安装anaconda时用普通的bash安装不用sudo bash 安装即可以顺利升级pip版本。
安装keras
安装keras时直接在创建的环境中 pip install keras 即可
这里写图片描述

测试 安装的tersorflow 和 keras

测试代码为

import tensorflow as tf
hello = tf.constant(‘hello tensorflow!’)
sess = tf.Session()
print(sess.run(hello))

这里写图片描述

向tensorflow的世界打个招呼吧,测试结果将会打印出 hello tensorflow
在测试代码时可能会出现如上图的warning存在的问题, 但是不影响结果,只是执行速度比较慢,据说是因为为了不同框架上的可迁移性,还没有对cpu进行编译,他建议你为了更快的速度,可以从编码编译,执行速度会更快。参考https://github.com/tensorflow/tensorflow/issues/8037
然后 import keras 会提示using tensorflow backend 说明安装keras成功
现在是在建立的tensorflow-gpu环境中是可以了,但是当我们使用anaconda的IDE spyder进行编辑时候,如果没有激活这个环境依旧会报错,发现无法导入tensorflow模块,那么问题来了,以后是否每次使用TensorFlow,我们都要激活环境 : source activate tensorflow-gpu,然后才能去使用TensorFlow呢?这岂不是很不方便,当我们需要在 spyder中 调试很多行程序时,岂不是很不方便!
解决方法是 在建立的环境中用 conda list命令看下tensorflow的安装路径
这里写图片描述
然后将该路径/home/server/anaconda3/envs/tensorflow-gpu下lib/python3.5/site-packages 文件夹中所有文件(即site-packages中所有文件)anaconda安装路径下的lib/python3.5/site-packages中,注意复制时如果出现同名文件应选择替换。
这样就可以在anaconda在带的IDE中直接import tensorflow as tf 了。
到这里深度学习的框架已经搭建完毕。

猜你喜欢

转载自blog.csdn.net/u012393192/article/details/80465564
今日推荐