模型是一个很简单的模型:
inputs = Input(shape=(X_train.shape[1],))
nb_x_1 = BatchNormalization()(inputs)
dense_x_1 = Dense(64, activation='relu')(nb_x_1)
nb_x_2 = BatchNormalization()(dense_x_1)
dense_x_2 = Dense(64, activation='relu')(nb_x_2)
predictions = Dense(1, activation='sigmoid')(dense_x_2)
optmzr = keras.optimizers.Adagrad()
model = Model(inputs=inputs, outputs=predictions)
model.compile(optimizer=optmzr,
loss="binary_crossentropy",
metrics=['accuracy'])
但针对一个数据集进行fit后(截图只有一个epoch,但之前还经过了多个epoch的fit),显示accuracy是0.98,而立即针对同一数据集做evaluation,显示accuracy只有0.48,loss也从0.12变到了0.75,差别还挺大
我也进行过一些搜索,例如:https://github.com/keras-team/keras/issues/6977 但没有找到什么有价值的答案。
希望高人相助!多谢多谢!
1个回答
相关讨论
keras sequential model怎么增加一个dropout层?
keras加载imdb数据时num_words参数是干嘛的?
训练完keras模型后怎么画出loss和val_loss的对比图?
keras无法加载imdb文本:Object arrays cannot be loaded when allow_pickle=False
keras里的predict,predict_classes,predict_proba有什么区别?
随便看看