配置深度学习主机与环境(TensorFlow+1080Ti):
(一)硬件选购与主机组装
(二)Win10&Ubuntu双系统与显卡驱动安装
(三)CUDA与CUDNN安装
(四)基于Anaconda的TensorFlow安装
0. 概念介绍
Anaconda
Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。
这里先解释下conda、anaconda这些概念的差别。conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。
TensorFlow
TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。
更多介绍可以参考:TensorFlow 中文社区
2. 安装Anaconda
- 下载Anaconda
选择Anaconda官方网站下载,考虑到Python2.7不可或缺的地位,选择Python2.7 64-BIT版本下载,当然Python3.6 也可以。
如果觉得Anaconda官方网站下载速度过慢,可以选择:
- Anaconda installer archive
- 清华大学开源软件镜像站:Anaconda
- 安装Anaconda
打开终端,输入:bash Anaconda2-4.4.0-Linux-x86_64.sh
开始安装。下图中作者手抖下错了版本,后面重新卸载后,换回了新版本。
注意:
Do you wish the installer to prepend the Anaconda2 install location to PATH in your /home/dexter/.bashrc ? [yes|no]
请选择 yes
则会自动配置环境变量,无需自己手动添加。
安装完毕后可以打开终端,输入
conda --version
查询conda版本。
3. 安装TensorFlow
- 使用
conda
指令创建虚拟环境
打开终端,输入conda create --nane tensorflow python=2.7
,其中“tensorflow”是新创建的环境(容器)名称,你也可以选择其他命名。
# To activate this environment, use:
# > source activate tensorflow
#
# To deactivate this environment, use:
# > source deactivate tensorflow
- 在新创建的虚拟环境TensorFlow(容器)中安装TensorFlow
source activate tensorflow
激活新创建的容器。
(tensorflow)$ pip install --ignore-installed --upgrade tfBinaryURL
末尾的tfBinaryURL
请用如下链接替换:
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.2.1-cp27-none-linux_x86_64.whl
以上链接为TensorFlow(GPU)1.2.1版本。如果只需要安装CPU版本(无需CUDA&cuDNN),请用如下链接替换tfBinaryURL
:
https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.2.1-cp27-none-linux_x86_64.whl
-
确认安装情况
Invoke python from your shell as follows:
$ **python**
Enter the following short program inside the python interactive shell:
# Python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
If the system outputs the following, then you are ready to begin writing TensorFlow programs:
Hello, TensorFlow!
If you are new to TensorFlow, see Getting Started with TensorFlow.
If the system outputs an error message instead of a greeting, see Common installation problems.
至此,基于Anaconda的TensorFlow安装成功。
4. 启动IDE
因为是在Anaconda中安装的TensorFlow,推荐使用Anaconda自带的IDE:Spyder。启动方法:
打开终端,激活tensorflow环境
source activate tensorflow
输入:spyder
指令,稍等即可打开spyder3(环境还是python2.7)。
import tensorflow as tf
如果系统没有报错,则可以正常使用IDE,可以运行上图中的MNIST程序验证。如果显示没有tensorflow这个module或者文件不存在,则可能没能统一编译环境。解决方法如下:
- 关闭spyder,在已经激活的tensorflow环境中输入:
conda install spyder
重新安装spyder,可能这个过程比较慢,涉及的包特别多,下载速度堪忧。安装好之后再次在tensorflow环境中输入spyder
打开IDE,再尝试:
import tensorflow as tf
如果没问题即可,如果依旧显示无法找到tf模块,可参照以下方法。
- 打开一个新终端,输入:
# 删除tensorflow环境
conda remove -n python27 tensorflow
然后重新安装tensorflow,在版本选择时,选择1.2.0版本。即,将tfBinaryURL
中的1.2.1
替换为1.2.0
:
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.2.0-cp27-none-linux_x86_64.whl
后面步骤照旧,如果无法import
,再次重新安装spyder
,即可。