我正在学习 Theano。我写了一个简单的 dropout 函数,如下所示:
import theano.tensor as T
srng = T.shared_randomstreams.RandomStreams()
def drop(input, dropout=0.0):
if T.gt(dropout, 0.):
retain_prob = 1 - dropout.astype('floatX')
mask = srng.binomial(n=1, p=retain_prob, size=input.shape, dtype='floatX')
return input * mask / retain_prob
else:
return input
当我将此函数应用于前两个卷积层的输入时,在每张图像上花费的平均时间从 0.5 毫秒增加到大约 2.5 毫秒!有谁知道这种急剧放缓的原因可能是什么?
我正在使用安装了 cuDNN 的 GTX 980 卡。