【问题标题】:How to generate unique names for each epoch's saved model with TensorFlow's Keras API如何使用 TensorFlow 的 Keras API 为每个 epoch 的保存模型生成唯一名称
【发布时间】:2019-04-11 07:47:27
【问题描述】:

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

已经尝试过:查看后面的代码

代码:

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
实际:每次保存时,覆盖现有检查点

【问题讨论】:

  • 尝试将检查点路径'.\checkpoints\cp{}.ckpt'.format(time()) 直接提供给ModelCheckpoint,而不是将其保存在model_path 中。 model_path 变量只会在运行时计算一次,所以它会继续覆盖

标签: tensorflow tf.keras


【解决方案1】:

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

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

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

【讨论】:

  • 乐于助人。如果有效,请接受答案。
猜你喜欢
  • 2020-10-17
  • 1970-01-01
  • 2020-06-22
  • 2020-03-22
  • 2011-06-06
  • 2018-10-12
  • 1970-01-01
  • 2021-05-05
  • 2016-06-15
相关资源
最近更新 更多