keras:训练是收敛的,但是使用训练数据会导致测试损失很高

时间:2020-07-02 13:22:58

标签: keras loss

我遇到了一个非常奇怪的问题。我正在训练深度学习模型,代码是:

        finalModel.compile(
            optimizer=optimizer,
            loss=dice_loss,
            metrics=[keras.losses.binary_crossentropy, dice_coef]
        )

        finalModel.fit_generator(
            generator=trainGenerator,
            steps_per_epoch=200,
            epochs=500,
            validation_data=valGenerator,
            validation_steps=20,
        )

输出信息表明训练是收敛的,骰子约为0.8。

然后,我加载保存的模型:finalModel.load_weights('./bestModel.hdf5'),并通过以下方式获得评估骰子:

dt = trainGenerator.__next__()
print(finalModel.evaluate(dt[0], dt[1]))

请注意,测试数据是从训练数据集中生成的。骰子非常低,约为0.1。 这让我很困惑。

我的代码有什么问题吗?任何建议表示赞赏!

0 个答案:

没有答案