【发布时间】:2021-07-01 17:41:49
【问题描述】:
我使用 ModelCheckpoint 回调使用 save_weights_only 选项保存了一个模型
checkpoint_callback = tf.keras.callbacks.ModelCheckpoint(
'path.ckpt, save_weights_only=True)
然后,当我想对较小的数据集进行微调时,我将其重新加载:
ckpt = tf.train.Checkpoint(model)
ckpt.restore(checkpoint_path).expect_partial()
我用新的优化器重新编译了模型:
class CFG:
_scheduler = tf.keras.optimizers.schedules.ExponentialDecay(
initial_learning_rate=lr, decay_rate=decay_rate)
scheduler = WarmUp(
initial_learning_rate=lr, decay_schedule_fn=_scheduler,
warmup_steps=warmup_steps)
optimizer = tfa.optimizers.AdamW(
weight_decay=1e-4, learning_rate=scheduler, epsilon=1e-8)
model.compile(
optimizer=CFG.optimizer,
)
但优化器不知何故仍停留在之前衰减的 lr 上,而不是设置为我现在想要的更高的 lr,而且我不确定其他优化器参数。
【问题讨论】:
标签: python tensorflow keras