我在Keras有一个conv1d层,内核大小为3,步幅长度为1。
当我试图处理输入大小为5时,出现了以下错误,但所有操作都在输入大小为6时工作。
InvalidArgumentError (see above for traceback): Computed output size would be negative:
-1 [input_size: 0, effective_filter_size: 3, stride: 1]
我认为3号内核至少需要3号的输入。
编辑:这是模型,输入大小是可变的,我遇到的问题是输入大小为5。
model = Sequential()
model.add(Conv1D(
input_shape=(None, 4),
filters=64,
kernel_size=3,
activation='relu'))
model.add(Conv1D(
filters=32,
kernel_size=3,
activation='relu'))
model.add(Conv1D(
filters=16,
kernel_size=2,
activation='relu'))
model.add(GlobalMaxPooling1D())
model.add(Dense(number_of_classes))
model.add(Softmax(axis=-1))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])