【问题标题】:Error when checking model input: expected conv1d_1_input to have shape (None, 441, 216) but got array with shape (1, 441, 216)检查模型输入时出错:预期 conv1d_1_input 的形状为 (None, 441, 216) 但数组的形状为 (1, 441, 216)
【发布时间】:2019-03-29 18:10:43
【问题描述】:

我的输入只是一个 441 行 216 列的矩阵:

216 个特征值

441 次试验

总类标签6

我正在尝试在 CNN 模型上训练我的数据:

model = Sequential()

model.add(Conv1D(128, 5, input_shape=(441, 216)))
model.add(Activation('relu'))
model.add(Conv1D(128, 5,padding='same'))
model.add(Activation('relu'))
model.add(Dropout(0.1))
model.add(MaxPooling1D(pool_size=(8)))
model.add(Conv1D(128, 5,padding='same',))
model.add(Activation('relu'))
model.add(Conv1D(128, 5,padding='same',))
model.add(Activation('relu'))
model.add(Conv1D(128, 5,padding='same',))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Conv1D(128, 5,padding='same',))
model.add(Activation('relu'))
model.add(Flatten())
model.add(Dense(10))
model.add(Activation('softmax'))
opt = keras.optimizers.rmsprop(lr=0.00001, decay=1e-6)

model.compile(loss='categorical_crossentropy', 
           optimizer=opt,metrics=['accuracy'])

这会引发错误: ValueError: 检查模型输入时出错:预期 conv1d_1_input 的形状为 (None, 441, 216) 但得到的数组的形状为 (1, 441, 216)

如何将我的输入输入到 CNN 中?

【问题讨论】:

    标签: python tensorflow keras


    【解决方案1】:

    您需要在第一个 conv1d 调用的末尾添加一个逗号:input_shape = (416, 234,) 顺便说一句,在卷积层之间使用“dropouts”的效率低于 BatchNormalisation 以避免过度拟合。

    【讨论】:

      猜你喜欢
      • 2018-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多