2016-06-11 95 views
3

我是Theano的新手,尝试一些例子。为什么theano跑得这么慢?

import numpy 
import theano.tensor as T 
from theano import function 
import datetime 
print datetime.datetime.now() 
x = T.dscalar('x') 
y = T.dscalar('y') 
z = x + y 
f = function([x, y], z) 
print f(2, 3) 
print numpy.allclose(f(16.3, 12.1), 28.4) 
print datetime.datetime.now() 

然后花了15分钟来运行它。我使用的是2GB内存,并且没有多个进程同时运行。

+0

你可以分解它看看哪一步花了时间?可能是'f = function(...)',编译发生的地方,但很好确保。 – user20160

+0

我运行了相同的一段代码,它在一秒之内运行。你有没有在你的机器上更新NumPy&Theano的版本? – KartikKannapur

+0

f =函数([x,y],z)占用95%以上的时间,其他一切运行平稳 –

回答

3

先检查Theano标志。

如果您没有运行:THEANO_FLAGS = mode = FAST_RUN或者没有运行默认标志或者如果您更改.theanorc,可能需要一些时间。

-

然而,读到这里:

http://deeplearning.net/software/theano/tutorial/using_gpu.html

你还可以看到更多关于Theano旗帜在这里:

http://deeplearning.net/software/theano/library/config.html

因为你必须从运行IDE,您将不得不编辑.theanorc

作为对Theano链接如上所述:

“ ,缺省值为$ HOME/.theanorc。在Windows上,它默认为$ HOME/.theanorc:$ HOME/.theanorc.txt以使Windows用户的生活更轻松。 “

确切标志是这样的:

config.mode

字符串值: '模式', 'ProfileMode'(废弃), 'DebugMode', 'FAST_RUN', 'FAST_COMPILE'

如果这并不帮助,一定要更新Theano出血边缘编辑您的问题与theanorc SE ttings

PIP安装--upgrade --no-DEPS混帐混帐+://github.com/Theano/Theano.git


您还可以使用OpenMP的使用额外的线程/核:

THEANO_FLAGS =模式= FAST_RUN THEANO_FLAGS = '的openmp =真' OMP_NUM_THREADS = 4蟒x.py