我正在关注 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/