2018/10/9 9:08:07
因为研究工作,迫切需要搭建一个深度学习的分析平台。初始实验平台就在自己的笔记本上搭建,系统为Windows 10旗舰。
常用的深度学习环境为Keras和Tensorflow,其中Keras可以理解为一个集成了常见深度学习模型与关键函数、参数的模型库,而其依赖的各种张量(Tensor)运算则需要底层的计算库支持,这里我们推荐使用Tensorflow。
只不过有些不同的是,Tensorflow在windows系统上不支持python2.7,仅支持python3.5版本,因此要么安装python3.5,要么则安装带有python3.5环境的Anacoda环境。
一、Tensorflow环境安装
虽然Tensorflow的安装其实并不复杂,但是其运行还是需要许多底层软件包,比如numpy,比如scipy等。为了方便,我们可以直接利用Anaconda这个集成的python计算环境来配置Tensorflow环境(本步骤仅仅是配置Tensorflow环境,还没有安装实体Tensorflow!)
由于自己之前习惯使用python-2.7,因此安装的Anaconda自然也是适应2.7的。幸好现在有了虚拟环境,我们只需要利用Anaconda的虚拟环境命令即可配置。我们可以在powershell/cmd中直接输入命令,首先更新conda到最新版本:
随后,创建需要的虚拟环境:
conda create --name tensorflow python=3.5
从而实现创建、下载上述tensorflow虚拟环境。(注意,这里自己通过修改环境变量中默认python的方式将python3.6作为了默认python,其实结果使用2.7也是可以的。)
接下来我们试着activate tensorflow这个python3.5环境,很有可能你会发现cmd下是成功的,可以进入到(tensorflow)环境,而powershell下则不行。原因在于两个:
1. powershell默认不支持conda虚拟环境的创建;
2. powershell默认没有脚本运行权限;
对于上述两个问题,我们的解决方法是:
安装对应的软件包,使得powershell可以支持conda虚拟环境:
具体命令为:
conda install -n root -c pscondaenvs pscondaenvs
修改powershell的脚本执行权限,为了安全与方便,我们仅修改当前用户权限即可:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
另外,如果细心的同学可能发现,这里我安装了Anaconda3到了原本Anaconda2的envs目录下,以作为一个独特的虚拟环境使用。
如此便实现了在一个pycharm里可以同时使用两个版本的Anaconda2/3了。(需要在项目解释器中选择python3虚拟环境下即可)
二、Tensorflow安装
网上有很多Tensorflow的安装教程或笔记,然而都是给出自己实验成功的Python+CUDE+CuDNN+Tensorflow的个例,比如写明实验成功的版本号,然而学习者看来就会云里雾里,因为教程笔记都有时效性,各种软件版本不断更新,已有的组合兼容性早已不再适用。因此,本文努力给出一种明确各种软件兼容性的方法,如此后来者自然可以查找最新的兼容信息,根据自己的GPU以及Tensorflow版本确定相应的软件版本。
一般来说,可以从python3.5.x环境中直接使用pip管理器安装最新的Tensorflow,然而这样对于CPU版本的实验平台还好说,但是如果对于GPU版本而言,则比较难确定对应的CUDE和CuDNN版本。
这里请大家参考官方网站:https://tensorflow.google.cn/install/gpu
其中明确说了,当前最新的Tensorflow-GPU要求应当安装CUDE-8.0以及CuDNN-7.2以上版本,既然如此,CUDE与CuDNN之间的兼容性就不需要再费尽心思考虑了。
点击页面的蓝色链接,安装相应版本即可。
两点注意
1. 当CUDE与CuDNN安装完成后,需要修改环境变量以及将CuDNN的文件加入到对应的CUDE目录下,分别是:
将CUDE目录路径加入到环境变量PATH中
2. 将CuDNN解压缩后三个文件(bin\cudnn64_7.dll,include\cudnn.h以及lib\x64\cudnn.lib分别拷贝到CUDE目录下对应的bin\include\lib+x64下即可),我这里的是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
然后可以在cmd/powershell中激活虚拟环境tensorflow,然后进入到python环境中(此时肯定是python3.5.x),运行命令
安装CPU版:pip install tensorflow
安装GPU版:pip install tensorflow-gpu
安装完成后,在python环境下,尝试导入模块,如果成功即说明安装成功:
import tensorflow as tf
查看运行结果,如果按照官网上匹配了对的CUDE与CuDNN版本,那么一般会少很多杂乱无章的"缺少DLL模块之类的错误"。
这里还使用了简单的代码验证:
import tensorflow as tf
sess = tf.Session()
a = tf.constant(10)
b = tf.constant(20)
sess.run(a+b)
祝贺!Tensorflow已经在你的机器上成功安家了!
三、Keras安装
最后,我们的目标是安装深度学习算法模型库Keras,因此只需要同样在tensorflow虚拟环境中,运行
pip install keras
即可,完成后在python环境下导入keras模块即可验证。
四、小结
深度学习框架一般基于底层的python与基本算法平台Anaconda,然后以Tensorflow作为后端进行张量基本运算,而使用Kears作为模型调用库。需要注意的是:
1.推荐在Anaconda中搭建实验分析环境,可以免去自己安装诸多软件包的麻烦;
2.安装Tensorflow仔细阅读官方安装的版本要求,下载对应的CUDE与CuDNN版本(由于我的显卡是1050Ti,因此基本上不需要考虑CUDE和CuDNN的兼容性,如果是其他显卡,需要考虑对应的CUDE和Tensorflow版本);
好了,明天开始实际的模型实验,加油!