我试图在TF2.1
中实现一个基于Keras
的U-Net模型。为此,我编写了一个自定义损失函数。我的目标是在每个epoch
结束时保存模型/其权重。为此,我使用了^{
tf.keras.callbacks.ModelCheckpoint(
filepath, monitor='val_loss', verbose=0, save_best_only=False,
save_weights_only=False, mode='auto', save_freq='epoch', options=None, **kwargs
)
为了以后继续训练,我需要保存optimizer
状态。保存optimizer
状态的可靠方法是传递save_weights_only=False
,并使用'tf'
或'h5'
save_格式保存整个模型。我读到here,Tensorflow SavedModel
格式是保存模型的推荐方法。但是,出于某种原因,使用这种格式需要很多时间,每当在每个格式的末尾保存模型时(另一方面,save_format='h5'
会非常快地保存整个模型)。现在,当我用'tf'
格式传递save_weights_only=True
时,它将权重保存为检查点。我想知道save_weights_only=True, save_format='tf'
是否也保存了optimizer
状态?[据我所知,save_weights_only=True, save_format='h5'
只保存权重,而不保存优化器。]
如果有人能澄清这一点,或者指出我在什么地方错了,我会很高兴
目前没有回答
相关问题 更多 >
编程相关推荐