配置使用GPU加速的Theano环境

 在安装过Anaconda3的环境下想利用oython2.7.13配置Theano环境,比较简单的方法是在Anaconda3里面另开一个python环境,然后在Pycharm里面切换python.exe的环境即可,这里可以参考我之前写过的在Anaconda下实现Python2.X与Python3.X共存 ,配置环境可以参考我之前的一篇总结Anaconda下安装keras 配置与pycharm运行demo(windows版本) 。

 这里主要想总结一下我配置GPU加速的Teano环境的过程。当然如果想配置GPU加速的Tensorflow环境可以参考我的这篇文章。

 这里我想说Theano的配置不像Tensorflow需要下载对应的GPU版本,我们在配置好Theano环境之后,只要 C:\Users\你的用户名 的路径下添加
.theanorc.txt 文件。

这里给出我的配置文件,里面的路径需要换成对应的路径,这里不多说。也可以参考文章后面的参考资料2的文章。

[global]

openmp=False

device = gpu

floatX = float32

base_compiler = C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin

allow_input_downcast=True 

[lib]

cnmem = 0.75

[blas]

ldflags=

[gcc]

cxxflags=-IC:\Users\lyh\Anaconda2\MinGW

[nvcc]

fastmath = True

flags = -LC:\Users\lyh\Anaconda2\libs

compiler_bindir = C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin

flags =  -arch=sm_30  

如果在上述文件配置上遇到问题可以参考我下面的文章
Theano: CNMeM is disabled, CuDNN not available
http://blog.csdn.net/johinieli/article/details/77100240

Failed to get the number of CUDA devices: CUDA driver version is insufficient for CUDA runtime versi
http://blog.csdn.net/johinieli/article/details/77100091

python - Theano: Initialisation of device gpu failed! Reason=CNMEM_STATUS_OUT_OF_MEMORY
http://blog.csdn.net/johinieli/article/details/77100427

NameError: the name CVM is not defined
http://blog.csdn.net/johinieli/article/details/78137008

这里还给出Theano的GPU环境测试程序:

from theano import function, config, shared, sandbox
import theano.tensor as T
import numpy
import time

vlen = 10 * 30 * 768  # 10 x #cores x # threads per core
iters = 1000

rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], T.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(iters):
    r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
    print('Used the cpu')
else:
    print('Used the gpu')

如果打印出了Used the gpu说明环境配置成功!

还有一个十分关键的地方,我已经被坑了好多次:
 上述测试程序,还有其它自己编写的程序一定要注意命名!
 不要使用关键字命名代码,否则程序报错,然后很难根据错误信息找到解决方法。笔者小白就是花了大量的时间在这个上面。

笔者小白在这个问题上面还碰到了,在Ananconda Prompt里面import theano正确,但是在pycharm里面import theano 报错,关键是配置的python.exe的路径也是正确的。在折腾了一大圈之后,发现还是测试代码文件命名的问题。

参考资料:
1、http://blog.csdn.net/goodshot/article/details/54945588 2017.9.29
2、http://blog.csdn.net/qq_30507287/article/details/70767017 2017.9.29

你可能感兴趣的:(配置环境)