我的keras模型中的裁剪层尺寸为零

时间:2018-09-11 10:55:28

标签: neural-network conv-neural-network

我用keras创建了一个简单的模型来了解裁剪层

def other_model():
    x = keras.Input(shape = (64,64,3))
    conv = keras.layers.Conv2D(5, 2)(x)
    crop = keras.layers.Cropping2D(cropping = 32)(conv)
    model = keras.Model(x,crop)
    model.summary()

    return model

但是我得到以下摘要


图层(类型)输出形状参数#

input_12(InputLayer)(无,64、64、3)0


conv2d_21(Conv2D)(无,63、63、5)65


cropping2d_13(Cropping2D)(无,0、0、5)0

总参数:65 可训练的参数:65 不可训练的参数:0


为什么Cropping2D的第一维和第二维等于零? 应该是32岁

2 个答案:

答案 0 :(得分:0)

您可以选择在图像的每一侧都将被切除的像素数。我会选择大于或等于图像一半大小的图像,所以它不起作用

答案 1 :(得分:0)

文档中尚不清楚,但是如果您提供单个整数值(cropping = 32)作为参数,则会在图像的每个侧裁剪32个像素。

如果您的图片具有64x64像素且裁剪= 32,则目标尺寸将为0x0像素...

如果您希望将目标尺寸设置为32x32像素,则必须输入cropping=16