【发布时间】:2021-05-06 08:37:55
【问题描述】:
我想将尺寸为 (10151, 1285) 的特征训练为标签 (10151, 257),并且我想使用 way2。因为我想在成本函数中使用“feature_input”。但它失败并出现错误:
ValueError: 层 batch_normalization_6 的输入 0 与层不兼容:预期 ndim=3,发现 ndim=2。收到的完整形状:(无,257)。
我想知道为什么?
Way1:
model = Sequential()
model.add(Dense(257, input_dim=1285))
model.add(BatchNormalization())
model.add(Activation('sigmoid'))
model.compile(optimizer='adam', loss='mse', metrics=['mse'])
model.fit(feature, label )
model.save("./model.hdf5")
Way2:
feature_input = Input(shape=(None, 1285))
dense = Dense(257)(feature_input)
norm = BatchNormalization()(dense)
out = Activation('sigmoid')(norm)
model = Model(feature_input, out)
model.compile(optimizer='adam', loss='mse', metrics=['mse'])
model.fit(feature, label )
model.save("./model.hdf5")
【问题讨论】:
标签: python keras training-data loss-function