def _generate_conv(self):
input = T.tensor4(name='input')
if self.pooling == 'squareroot':
conv_out = Pool.pool_2d(
T.power(input,2),
ds=(self.spatial[0], self.spatial[1]),
ignore_border=self.ignore_border,
mode='sum',
padding=self.pad,
st=None if self.stride is None else (self.stride, self.stride))
conv_out = T.sqrt(conv_out)
else:
conv_out = Pool.pool_2d(
input,
ds=(self.spatial[0], self.spatial[1]),
ignore_border=self.ignore_border,
mode=self.pooling,
padding=self.pad,
st=None if self.stride is None else (self.stride, self.stride))
if self.activation_fct is None:
output = conv_out
else:
output = self.activation_fct(conv_out)
self.conv = theano.function([input], output)
评论列表
文章目录