Deep learning加速之Theano的安装和GPU的配置

项目的需要,也要上手Python,下面介绍一下theano的安装和GPU的配置,这样能够帮助看到这篇文章的人省些力气,少走些弯路。

1.Theano的安装

系统环境:win10 64位 
VS: VS2010 
Anaconda:Anaconda-2.3.0-Windows-x86_64

1.1 安装Anaconda

Anaconda包含了Theano所需的各种Python库,使用Anaconda来安装Python环境最方便。 
到Anoconda网站下载Anaconda-2.3.0-Windows-x86_64(
链接),以前的Anaconda版本带MinGW环境,2.0.1版本的Anaconda好像不带MinGW了。

安装的时候勾选把Anaconda加到环境变量中。

安装完检查一下,打开cmd命令行(也可以在Anaconda的命令窗口进行):

C:\Windows\system32>python --version

正常会返回Python的版本信息

1.2 安装MinGW

MinGW含有gcc,g++,ld等常用编译器。

1. 打开CMD(注意是windows命令提示符,并不是进入到python环境下,否则会提示语法错误,因为conda命令就是在windows下面执行的。); 
2. 输入 conda install mingw libpython,然后回车,会出现安装进度,稍等片刻即可安装完毕。此时在你的Anaconda安装目录下就有Anaconda\MinGw目录了。

安装完检查一下,打开cmd命令行:

where gcc
where ld

正常的话也会返回各自的版本信息

1.3 安装theano

打开cmd命令行:

pip install theano

Theano就安装到Python环境中,这里就是Anaconda中。

1.4 配置gcc的编译环境

在home下(cmd的那个路径)新建一个.theanorc.txt文件,例如home路径是C:\Users\myname。 
配置文件内容:

[global]
openmp=False

[blas]
ldflags=

[gcc]
cxxflags = -IC:\mingw-w64\x86_64\mingw64\include
cxxflags = -LC:\Anaconda

1.5 检查

打开cmd命令行:

python
>>>import  theano

import的时候稍等几秒(Theano要进行编译),应该不会有错误。

按照Deeplearning给出的测试例子,编辑一个test.py文件:

import numpy as np
import time
import theano
A = np.random.rand(1000,10000).astype(theano.config.floatX)
B = np.random.rand(10000,1000).astype(theano.config.floatX)
np_start = time.time()
AB = A.dot(B)
np_end = time.time()
X,Y = theano.tensor.matrices('XY')
mf = theano.function([X,Y],X.dot(Y))
t_start = time.time()
tAB = mf(A,B)
t_end = time.time()
print "NP time: %f[s], theano time: %f[s] (times should be close when run on CPU!)" %(
                                           np_end-np_start, t_end-t_start)
print "Result difference: %f" % (np.abs(AB-tAB).max(), )

执行这个文件,应该能得到正确结果。

如果不考虑GPU,BLAS等问题,现在就大功告成了!

2.Theano中GPU的配置

  2.1 检查电脑显卡是否支持GPU加速(链接)

  2.2 C++环境的安装,建议直接安装一套微软的Visual Studio环境,建议Visual Studio 2010或更高版本。

  2.3  并行计算架构CUDA的安装。本人安装的是CUDA 7.0版本。CUDA各版本下载地址:https://developer.nvidia.com/cuda-toolkit-archive。注意,下载的时候有些版本需要区分desktop(台式机)和 notebook(笔记本)。之后CDM 命令行输入 nvcc –V 查看是否安装成功

  2.4 重新配置一下.theanorc.txt文件里面的信息,下面是我的配置我文件,大家可以参考下

<span style="font-family:Microsoft YaHei;font-size:12px;">[global]
openmp=False
device = gpu
floatX = float32

[blas]
ldflags=

[gcc]
cxxflags = -IF:\program\Python\Anaconda\mg\MinGW\x86_64-w64-mingw32\include  #这里是你自己Anaconda安装目录
cxxflags = -LF:\program\Python\Anaconda   #这里是你自己Anaconda安装目录
[nvcc]
flags = -LF:\program\Python\Anaconda\mg\libs    #这里是你自己Anaconda安装目录
compiler_bindir = F:\program\visual studio\VC\bin  #这里是你自己的visual studio安装目录
fastmath = True</span>

2.5  现在可以启动Spyder,下面的Theano GPU加速测试案例代码并运行,如果最终其中有一条“Used the gpu”信息输出,表明Theano GPU加速测试成功。

 

<span style="font-family:Microsoft YaHei;">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 xrange(iters):
    r= f()
t1 = time.time()

print'Looping%d times took'% iters, t1- t0,'seconds'
print'Result is', 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'</span>
参考:

1.http://blog.csdn.net/m624197265/article/details/45700619

2.http://blog.5ibc.net/p/13875.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值