【发布时间】:2021-07-25 13:26:27
【问题描述】:
我正在尝试通过基于剧集的训练 (https://arxiv.org/abs/1711.06025) 来过度拟合我的数据。我已经复制了原始论文模型并在我的数据上对其进行了训练,这是一个 900 张图像的二进制分类问题。
随着我预期的过度拟合,损失似乎已经稳定下来。问题是,模型只是在训练模式下正确预测。
batch, label = epg.get_episode(X_train)
logits = model(batch, training=True)
# model.predict(batch) gets same result as model(batch, training=False)
print("pred:", K.eval(logits)[0, 0])
print("target:", K.eval(label)[0, 0])
使用参数training=True,我得到 99.6% 的准确率。关闭它,我得到大约 30%(这比随机的 hahah -binary 问题少)。
请注意,我没有更改数据,它与用于训练的数据相同。
找这个问题,发现了一些喜欢的,指向BatchNormalization层,或者预测前不要预缩放数据。这很有道理,但我不知道我的情况如何,因为我使用相同的数据生成器来训练 True 和 False。
【问题讨论】:
标签: python keras prediction