python - model.save_weights(save_format='tf') 是否保存优化器状态?
问题描述
我正在尝试Keras
在TF2.1
. 为此,我编写了一个自定义损失函数。我的目标是在每个epoch
. 为此,我正在使用tf.keras.callbacks.ModelCheckpoint
.
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_format 保存整个模型。我在这里读到,TensorflowSavedModel
格式是保存模型的推荐方法。但是,由于某种原因,使用该格式需要很多时间,每当模型在每个末尾保存时(另一方面,save_format='h5'
保存整个模型非常快)。现在,当我save_weights_only=True
使用'tf'
格式传递时,它会将权重保存为检查点。我在想,如果save_weights_only=True, save_format='tf'
还保存optimizer
状态?[据我所知,save_weights_only=True, save_format='h5'
只保存权重而不是优化器。]
如果有人能澄清这一点,我会很高兴,或者指出我在某个地方是否错了。
解决方案
推荐阅读
- tfs - appsettings.json 没有被复制到构建包
- kubernetes-helm - 如何访问 values.yaml 舵图中的虚线变量
- flutter - Flutter中如何实现ListView平滑滚动
- css - 面临的问题 - 在 Nebular 中安装 auth 模块期间,无法继续?
- r - 根据特定条件重新排列表格并使用 for 循环
- python - dict的dict上的Mypy错误:“object”类型的值不可索引
- reactjs - 在异步等待中为用户显示错误消息的位置
- powershell - PowerShell Import-Csv 未正确读取一列的奇怪问题
- mysql - select子句中子查询的mysql性能优化
- ruby-on-rails - 错误:执行 gem 时...(TypeError)不兼容的封送文件格式(无法读取)