如何使用 TensorFlow 的 Keras API 为每个 epoch 保存的模型生成唯一名称

Gri*_*yan 1 tensorflow tf.keras

我正在训练模型,fit_generator()并希望为每个纪元保存的权重生成唯一的名称

已经尝试过:请参阅后面的代码

代码:

model_path = '.\checkpoints\cp{}.ckpt'.format(time())
cp_callback = tf.keras.callbacks.ModelCheckpoint(model_path, 
                                                 verbose=1,
                                                  period=2)
Run Code Online (Sandbox Code Playgroud)
model.fit_generator(..........,callbacks=[cp_callback])
Run Code Online (Sandbox Code Playgroud)

预期:生成唯一的检查点名称,
例如 epoch_4.ckpt 或 epoch_5.ckpt
实际:每次保存时,都会覆盖现有检查点

小智 5

您可以尝试将纪元变量添加到文件路径变量

filepath = ".\checkpoints\cp-{epoch:02d}.hdf5"
cp_callback = tf.keras.callbacks.ModelCheckpoint(filepath, verbose=1, period=2)
Run Code Online (Sandbox Code Playgroud)

这里的Keras 文档已经提到了这一点。