我正在关注 this blog 并且我在实现保存检查点时遇到了麻烦,因为它在链接的博客中使用。在第 23 行,它使用了:
filepath="weights-improvement-{epoch:02d}-{val_acc:.2f}.hdf5"

所以我尝试稍微调整代码以使其更具动态性:
filepath = '{0}/checkpoints/checkpoint-{epoch:02d}-{val_loss:.2f}.hdf5'.format(directory)

我想将给定架构的所有检查点存储在 1 个目录中的位置,例如:./architecture1/checkpoints/
但我收到以下错误: KeyError: 'epoch' 。我在这里做错了什么?

P.S.:filepath = "./checkpoints/checkpoint-{epoch:02d}-{val_loss:.2f}.hdf5" 有效,但它将所有检查点保存在我不想要的 1 个目录中。

最佳答案

如果你想使用 format ,正确的方法是像这样转义括号:

filepath = '{0}/checkpoints/checkpoint-{{epoch:02d}}-{{val_loss:.2f}}.hdf5'.format(directory)

因此,如果 directory = 'weights'filepath 将是 'weights/checkpoints/checkpoint-{epoch:02d}-{val_loss:.2f}.hdf5'

(注意 directory 是否包含 {} )

关于python - Keras 保存检查点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44886509/

10-12 21:14