1
def get_output_for(self, input, **kwargs):
bias=self._srng.uniform(input.shape)
output=input+bias
return theano.tensor.clip(output,0,1)
我想在Theano/Lasagne中创建一个自定义图层,它将图像矩阵移动一些随机偏差。我希望这个偏差对于某个图像是一个常数,但对于批次中的每一个图像都是不同的。如何将给定值的可广播张量添加到Theano中的另一个张量?
'input'是一个带形状的张量('x',3,32,32),其中'x'是可广播的尺寸,代表图像批量计数。上面的代码向“输入”添加了一个('x',3,32,32)随机数矩阵。但是,我希望这个数字对于每个图像都是一样的(bias [i,:,:,] = const) 并且只在不同图像之间随机选择(bias [i,:]!= bias [j ,:] ) 问题是我无法直接访问可广播的维度。 任何想法,我该怎么做这个东西?
谢谢,成功了! bias = self._srng.uniform((input.shape [0],1,1,1))。dimshuffle(0,'x','x','x') –