深度学习越来越火了,伴随着的是对python的学习和使用。其中python函数keras函数算是被经常提到的一个了,但是要使用它就要费点功夫,特别是gpu环境的搭建问题。以下是我搭建数次gpu环境 得出的总结。
keras backend我看好多使用的是theano 但是theano 麻烦而且效率不高网上好多都是指导theano为backend的安装
下面我以cntk为backend说一下(tensorflow也不错但最好不要用theano)
需要材料:visual studio(2013/2015) cuda(8.0) cudnn(6.0) python(3.6) window(8.0/10)
其对应的下载地址,及其安装
visual studio(2013/2015)https://www.visualstudio.com/zh-hans/downloads/
最好注册一个账号这样可以‘’使用你的权益‘’
然后直接搜索visual studio 2015
在安装时其中''用于c++的microsoft''选项一定要选择,这个好像是为cuda 的编译工具
cuda(8.0) https://developer.nvidia.com/cuda-80-ga2-download-archive
下载完成后选择自定义安装,不然会有一些安装包会被漏掉。
安装完成之后打开cmd 直接输入nvcc -V 如果出现cuda的版本信息说明安装成功
anaconda :https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
anaconda安装很简单我就不多重复了(别忘勾选添加环境变量的选项)
cudnn 地址:https://developer.nvidia.com/rdp/form/cudnn-download-survey
cudnn需要注册账号才能下载,记得要要下载6.0版本的
下载完成之后解压出来是三个文件包lib bin include 把他们复制到cuda安装的C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0目录下
python 的keras包安装
打开cmd 输入conda install -c anaconda mingw libpython
完成之后把D:\Anaconda3\MinGW\bin添加到环境变量path的值下文件路径是自己安装的对应路径
再安装theano
conda install theano
安装后引入可能出现版本问题只要添加环境变量就能解决
变量名为MKL_THREADING_LAYER变量值为GNU.
然后安装tensorflow,可能也会出现版本问题我安装的方法是pip install tensorflow-gpu==1.3
接着安装cntk下载2.0 gpu版本的cntk地址https://www.nuget.org/packages/CNTK.GPU/2.0.0
用本地安装的方法 pip install cntk文件路径/cntk文件全名
最后安装keras pip install keras
其中可能会遇到spyder 打不开的问题那是版本冲突把spyder卸了重装就好(更新到最新版本)
pip uninstall spyder
pip install spyder
numpy也可能会有版本问题降到numpy=1.13
执行pip install numpy==1.13
matplotlib也会有版本问题,使用旧版本pip install matplotlib==2.2.0就行
最后修改keras 的backend 先在python 环境 import keras 会出'use tensorflow backend'但是这样检测不出用没用gpu
打开文件修改
{
"floatx": "float32",
"epsilon": 1e-07,
"backend": "cntk",
"image_data_format": "channels_last"
}
修改完事之后 再次cmd进入python 环境import keras 会出现
Using CNTK backend
Selected GPU[0] GeForce GT 750M as the process wide default device.
说明使用了gpu
或者下载一个gpu--Z也行,在训练网络时会发现gpu load 和gpu温度增加
也可以说明正在使用gpu