我正在按照这里的教程学习,卡在了创建简单模型的步骤上
model = Sequential()model.add(Convolution2D(32, kernel_size=(3, 3), activation='relu', input_shape=(1, 28, 28)))model.output_shape
这应该输出 (None, 32, 26, 26)
,但实际上我得到的是 (None, -1, 26, 32)
。我猜可能是提供的参数有问题,或者我需要进行额外的重塑。也许 Keras 中的 Convolution2D
和 Conv2D
有什么变化?我正在使用 2.2.4
版本和 Theano
后端
回答:
看起来输入数据的通道是在第一个轴上。因此,你需要将 data_format
参数设置为 "channels_first"
:
model = Sequential()model.add(Convolution2D(32, kernel_size=(3, 3), data_format='channels_first', activation='relu', input_shape=(1, 28, 28)))model.output_shape
这样会得到:
(None, 32, 26, 26)