文章目录
关于版本
环境
目标安装版本:Python 3.6 + CUDA 9.0 + cuDNN 7 + MXNet-cu90/TensorFlow-gpu 1.11/TensorLayer 1.11
以上各版本之间有依赖关系,版本不兼容将出现运行问题。
Ubuntu系统步骤一致,部分命令不完全一致。
版本兼容关系
可参考我的另一篇文章:TensorFlow版本概述。这篇博文主要介绍TensorFlow和CUDA、cuDNN、Python之间的版本对应关系。
除了版本对应之外,还需要注意的问题就是GPU的计算容量computing capability和TensorFlow的对应关系。
至于MXNet的版本,简单来说:如果电脑上装的是 8.0 版本的 CUDA,则安装mxnet-cu80。如果电脑上安装了其他版本的 CUDA(比如 7.5、9.0、9.2 等),则分别安装mxnet-cu75、mxnet-cu90、mxnet-cu92等。具体可参见相关文档。
搭建过程
安装Anocanda
Python环境搭建建议使用科学计算集成python发行版Anaconda,Anaconda里面集成了大量常用的科学计算库,方便平时的开发使用。当然用户也可以根据自己的使用习惯选择合适的安装方式,但是python的版本最低要求为python3.5。
下载最新版本的Anocanda,其对应的是Python 3.7版本(写文日期2018年12月9日),作为电脑的全局Python环境。为什么这里选择Python 3.7而不是目标版本的3.6下文会提到。
安装之后不要忘记将Anocanda添加到环境变量。
安装CUDA和cuDNN
安装NVIDIA的CUDA显卡驱动需要预安装编译环境VS,VS最低的版本要求为VS2010,但建议安装较新的版本。这里安装CUDA9.0,选择Visual Studio 2017.
为了使用显卡进行GPU加速运算,需要安装NVIDIA的CUDA驱动,这里采用CUDA9.0,根据操作系统下载对应的版本。建议使用local安装的方式,以防出现安装过程中因为网络中断造成安装失败的现象。安装过程中所有的选择直接选择默认,如果C盘空间足够,不建议手动更改安装目录。
下载CUDA9.0,并安装。双击下载的CUDA安装文件.exe
,按照安装向导安装即可。建议安装目录不要出现中文。
cuDNN是NVIDIA针对深度学习计算的一个加速,建议安装。需要注册一个账号才能下载cuDNN,然后根据CUDA的版本和windows的版本下载相应的cuDNN源码。下载下来之后直接解压,解压之后有三个夹bin,lib,include,把解压之后的三个文件夹直接复制到CUDA的安装目录。
下载对应版本的cuDNN,这里为cuDNN7.4版本。
创建虚拟环境并安装NXNet
使用Anocanda自带的conda
创建虚拟环境。关于虚拟环境,可以参考博文浅谈Python虚拟环境virtualenv.所以全局Python使用3.7也没关系。
conda 默认使用国外站点来下载软件,以下可选项配置使用国内镜像加速下载:
# 配置一次即可,下次使用不需再次配置
# 使用清华 conda 镜像。
conda config --prepend channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# 或者选用科大 conda 镜像。
conda config --prepend channels http://mirrors.ustc.edu.cn/anaconda/pkgs/free/
更改pip镜像站点,创建目录C:\User\username\pip
目录,新建文件pip.ini
,写入内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com
Ubuntu用户创建~/.pip/pip.conf
,内容同上。
一定要设置呀,不然速度让人怀疑人生!!!(几kB/s v.s. 10MB/s)
不同于浅谈Python虚拟环境virtualenv一文,这里使用配置文件的形式创建想要的环境。
新建environment.yml
文件,配置文件的内容根据自己的情况定义即可。我的内容如下:
name: deeplearning_mxnet
dependencies:
- python=3.6
- jupyter=1.0.0
- matplotlib=2.2.2
- pandas=0.23.2
- pip:
- requests==2.18.4
- mxnet-cu90==1.2.1
- gluonbook==0.8.5
然后在此目录下打开cmd窗口,输入命令:
conda env create -f environment.yml
Step 1:创建虚拟环境:
Step 2:DEBUG
环境并安装配置文件中pip
指定的库:
Step 3:Done!
完成之后,在Anaconda安装目录的\envs
下可以找到创建的虚拟环境。我的为D:\Anaconda3\envs\deeplearning_mxnet
。
安装TensorFlow和TensorLayer
1.使用配置文件安装。安装过程同上述MXNet,更改配置文件相关项即可。当然,也可以同时安装MXNet和TensorFlow。
name: deeplearning
dependencies:
- python=3.6
- jupyter=1.0.0
- matplotlib=2.2.2
- pandas=0.23.2
- pip:
- requests==2.18.4
- mxnet-cu90==1.2.1
- gluonbook==0.8.5
- tensorflow-gpu==1.11.0
- tensorlayer==1.11
2.不从配置文件安装。按照浅谈Python虚拟环境virtualenv创建虚拟环境。使用pip install
安装。
# 创建环境
conda create -n deeplearning_tensor python=3.6 anaconda
# 安装tensorflow/tensorlayer
pip install tensorflow-gpu==1.11.0
pip install tensorlayer==1.11
结果检验
激活创建的深度学习环境,
MXNet检验:
TensorFlow/TensorLayer
TensorFlow官网给出了使用GPU的方式:
总结
- 不管是安装MXNet还是TensorFlow/TensorLayer,安装之前一定要整理清楚安装的各个组件版本,不对应或者不兼容的话无法正常运行;
- 安装完对应版本CUDA和cuDNN后,MXNet和TensorFlow/TensorLayer安装都比较容易,直接通过
pip install
即可。从配置文件安装本质上也是pip install
; - 创建虚拟环境安装之前,一定记得更改conda和pip的镜像网站,它们默认都是从国外站点下载。使用默认站点速度真的让人怀疑人生。国内镜像网站有很多,这里不再列举,可以根据自己的需要进行配置;
- 最后,祝大家一切顺利,玩抓深度学习。