我正在尝试用MNIST实现一个自定义模型,以便在Intel NCS2中使用。
我需要将第三层的维度从11x11x32更改为10x10x32,以便下一层的输出为偶数。
我使用的是Crop2D,但是它总是至少有两行像素,但我只是需要它来裁剪一行。
我已经试着把一对一的裁剪值放在一起,但不起作用。
model = models.Sequential()
model.add(layers.Conv2D(16, 3, activation='relu', input_shape=(28, 28, 1)))
model.add(layers.MaxPool2D())
model.add(layers.Conv2D(32, 3, activation='relu'))
model.add(layers.Cropping2D(cropping=((1, 1), (1, 1))))
model.add(layers.MaxPool2D())
model.add(layers.Conv2D(64, 3, activation='relu'))
model.add(layers.MaxPool2D())
model.add(layers.Flatten())
model.add(layers.Dense(256, activation='relu'))
model.add(layers.Dropout(0.5))
model.add(layers.Dense(10, activation='softmax'))我期望输出为10x10x32,但输出为9x9x32。
有可能这样做吗?
发布于 2019-04-02 18:31:41
从docs这里(角/层/卷积)可以输入要裁剪多少行/cols,以及它是否是从上/下左/右使用正在传递的裁剪元组,例如:“如果两个元组的两个元组的两个组解释为(top_crop,bottom_crop),(left_crop,right_crop)”,如果您只想裁剪图像的右边,例如,传递cropping=((0, 0), (0, 1))。
https://stackoverflow.com/questions/55473777
复制相似问题