[关闭]
@HarryUp 2017-03-22T02:36:08.000000Z 字数 1471 阅读 841

Windows10下GPU版Theano配置

深度学习 环境配置


2017.03.18

因为是GPU版本,所以CUDAcuDNN是必需的;Theano是python库,所以python是必需的,建议安装Anaconda3(默认python3.6编译器),然后创建一个python3.5环境(现在的tensorflow和Theano库都不支持python3.6的GPU加速版本,另外theano的GPU加速版本支持window下的python2.7)。同时推荐安装tensorflow和Theano的上层库keras,直接pip就行。

  1. 安装VS2015 community(我没去探究之前的版本行不行)
  2. 官网下载CUDA 8.0,.exe安装
  3. 官网注册并下载cuDNN 5.1,将里面的文件夹分别复制(合并)到CUDA的相应名字的文件夹
  4. (因为我之前装过tensorflow的GPU版本,所以不需要验证CUDA和cuDNN是否安装成功,自信也可以不用验证)
  5. 安装Anaconda3,并创建python3.5环境
  6. 激活相应环境,conda安装theano
  7. 在C:\Users\Harry(每个人用户名不一样,改!)文件夹下创建.theanorc.txt,并添加以下内容:

    1. [global]
    2. floatX = float32
    3. device = gpu
    4. [nvcc]
    5. flags=-LE:\Anaconda3\envs\tensorflow\libs #此为anaconda路径,改!
    6. compiler_bindir=C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin #此为VS路径,改!
  8. 打开IDE,选择编译器为所创环境下的python.exe,并用以下代码验证:

    1. import theano.tensor as T
    2. import numpy
    3. import time
    4. vlen = 10 * 30 * 768 # 10 x #cores x # threads per core
    5. iters = 1000
    6. rng = numpy.random.RandomState(22)
    7. x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
    8. f = function([], T.exp(x))
    9. print(f.maker.fgraph.toposort())
    10. t0 = time.time()
    11. for i in range(iters):
    12. r = f()
    13. t1 = time.time()
    14. print("Looping %d times took %f seconds" % (iters, t1 - t0))
    15. print("Result is %s" % (r,))
    16. if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
    17. print('Used the cpu')
    18. else:
    19. print('Used the gpu')
  9. 目测会编译错误233,点开错误地点,改为 *.decode("GBK")就可以了

另外,因为theano 0.9版本刚发布,conda装的是0.8,对cuDNN5.1支持没新版本好,有需要的可以在命令行升级

  1. pip install --upgrade --no-deps git+https://github.com/Theano/Theano.git#egg=Theano

深度学习框架theano至此全部安装完毕,而上层库keras无需配置GPU版,自动使用tensorflow(优先)或者Theano的backend。

Have fun! :)

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注