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

How to generate unique names for each epoch's saved model with TensorFlow's Keras API

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

已经尝试过:见后面的代码

代码:

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

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

您可以尝试将 epoch 变量添加到文件路径变量中

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

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