我用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
总参数:65 可训练的参数:65 不可训练的参数:0
为什么Cropping2D的第一维和第二维等于零? 应该是32岁
答案 0 :(得分:0)
您可以选择在图像的每一侧都将被切除的像素数。我会选择大于或等于图像一半大小的图像,所以它不起作用
答案 1 :(得分:0)
文档中尚不清楚,但是如果您提供单个整数值(cropping = 32)作为参数,则会在图像的每个侧裁剪32个像素。
如果您的图片具有64x64像素且裁剪= 32,则目标尺寸将为0x0像素...
如果您希望将目标尺寸设置为32x32像素,则必须输入cropping=16