滤波器不得大于输入 - tensorflow + Keras潜在问题

时间:2017-03-28 07:21:35

标签: tensorflow keras

我正在使用具有张量流的keras并尝试构建类似VGG的模型。在某个阶段,我有一个大小的张量(h,w,c)=(2,2,512),我打电话:

model.add(Convolution2D(nOutputPlane,3,3,border_mode='same'))

并收到以下错误:

ValueError: Filter must not be larger than the input: Filter: (3, 3) Input: (2, 2)

据我了解,只要border_mode相同,就应该没问题,不是吗?

所以我知道为什么会出现这个错误?

由于

1 个答案:

答案 0 :(得分:-1)

没有。 border_mode(也称为填充类型)应用于卷积的输出

因此,如果卷积输入为2x2,则必须使用2x2(或1x1)滤波器才能产生1x1(或2x2)输出。然后,如果border_mode='same'输出填充了正确数量的零,以便具有相同的输入大小。

如果要在2x2输入上应用3x3卷积,则必须在卷积操作之前填充

P.S:填充2x2输入使其成为3x3是不对称的填充,这是不寻常的。检查你的网络结构,通常一切都是对称的