keras中文文档的建议,还是win10比较适合。

windows10系统下安装keras框架以theano为后端并配置gpu加速

系统:windows10企业版2016 x64位(msdn下载的,系统激活用的是kms工具)

环境:python2.7

软件:Anaconda2,VS2010,cuda,cudnn(加速库)

(废话:最近实验室刚配置一台高配的机器,所以我不得不重新搭建一次环境。)
神经网络keras框架的后端可以是TensorFlow或者theano,默认是TensorFlow,我的电脑配置的是以theano为后端。如果你要想以TensorFlow为后端,那么需要自己安装tensorflow。

安装步骤如下:

1.安装Anaconda2
官网链接,这里我们下载Python 2.7 version 64位的,之所以不直接安装python2.7而选择安装Anaconda,是因为Anaconda自带了python2.7的环境,而且它内置了很多必要的库,不用我们自己安装了,安装前请确保你电脑中没有安装过Python,另外安装的时候一定要把路径记住,待会要用。这里我安装的路径是D:LearnToolanaconda

2.安装MinGw
打开cmd:输入conda install mingw libpython 回车,如果中途有需要输入y/n的,输入y,然后等待安装成功。安装成功后anaconda的安装目录下多了一个MinGw目录。

3.配置环境变量(以下目录以你自己的为准)

  1. 用户path变量中添加 D:LearnToolanaconda (anaconda安装目录)
  2. 用户path变量中添加 D:LearnToolanacondaScripts (如果你安装anaconda的时候选择了add Aanconda to my PATH,那么你的path变量中应该包含了上面这两项,那么就不用重新配置这两项了)
  3. 用户path变量中添加 D:LearnToolanacondaMinGWbin
  4. 用户path变量中添加 D:LearnToolanacondaMinGWx86_64-w64-mingw32lib
  5. 用户变量中新建变量名为pythonpath,变量值为:D:LearnToolanacondaLibsite-packagestheano(theano我们还没有安装,先配置好它的路径)
  6. 打开cmd,在控制台显示的目录下新建一个txt文件,文件名.theanorc.txt,看清楚前面还有个点,例如我打开控制台的目录是C:Userszhangkang>,文件内容如下:
    [global]
    openmp=False
    [blas]
    ldflags=
    [gcc]
    cxxflags=-ID:LearnToolanacondaMinGW

上面最后一行是-I加上MinGW的目录,那个是大写的I,不是1。直接复制粘贴就行了,只需要把D:LearnToolanacondaMinGW换成你自己的目录。保存后,重启电脑。

4.安装Theano
打开cmd,输入:pip install theano 回车,安装成功以后,进入Python环境(直接在cmd控制台窗口输入python 回车),输入import theano回车,如果没有什么错误说明安装成功。

5.安装vs2010
去网上下载一个,这个链接,安装也很简单,我下载的旗舰版。记住你的安装目录,例如我的安装目录是:D:LearnToolvs2010

6.安装cuda
我安装的是cuda8,百度云链接:http://pan.baidu.com/s/1i55Xf97,你也可以去官网下载https://developer.nvidia.com/cuda-toolkit-archive。安装的时候最好是默认安装,安装好以后系统变量会多出两个CUDA_PATH和CUDA_PATH_V8_0,打开cmd,输入nvcc –V回车 ,出现cuda的版本号说明安装成功。

7.重新配置.theanorc.txt文件
内容如下:
[global]
openmp=False
device = gpu
floatX = float32
allow_input_downcast=True
[lib]
cnmem = 0.8
[blas]
ldflags=
[gcc]
cxxflags=-ID:LearnToolanacondaMinGW
[nvcc]
flags = -LD:LearnToolanacondalibs
compiler_bindir = D:LearnToolvs2010VCbin
fastmath = True

上面D:LearnToolvs2010VCbin是你的vs2010的路径,如果你是默认安装,应该是C:Program Files(x86)Microsoft Visual Studio 10.0VCbin ,cnmem = 0.8这一项是可以修改的,但是要保证不超过1,改成1可能会内存溢出。

8.安装cudnn
Windows目前最新版v6.0,但是keras尚未支持此版本,请下载v5.1版本,即 cudnn-8.0-win-x64-v5.1.zip。 下载解压出来是名为cuda的文件夹,里面有bin、include、lib,将三个文件夹复制到安装cuda的地方覆盖对应文件夹,默认文件夹在:C:Program FilesNVIDIA GPU Computing ToolkitCUDA8.0,百度云链接:http://pan.baidu.com/s/1jHM9JM2。(为了在csdn上下载这个资源,花了15c币,找个共享的真难!)

9.安装keras
打开cmd,输入pip install keras 回车。安装成功后,进入Python环境,然后输入import keras 回车,如果你没有安装TensorFlow的话应该会报错。当然我们不使用tensorflow为后端,所以我们要把keras的后端改成theano,重新打开cmd,当前我的控制台目录是C:Userszhangkang>,进入这个目录文件夹,然后找到.keras文件夹下的keras.json文件,用记事本打开,你可以看到它的默认内容是:

{
  "image_dim_ordering": "tf",

   "epsilon": 1e-07,

   "floatx": "float32",

   "backend": "tensorflow"
}

把上面的内容改成:

{
    "image_dim_ordering": "th",
    "image_data_format":"channels_first",

    "epsilon": 1e-07,

    "floatx": "float32",

    "backend": "theano"
}

保存即可。现在再重新打开cmd,输入Python回车,进入Python环境后,输入:
import keras 回车,如果出现:Using Theano backend. Using gpu device 0: GeForce GTX 1080Ti (CNMeM is enabled with initial size: 80.0% of memory, cuDNN 5110)之类的,恭喜你,大功告成!