Keras 是否需要model.save_权重?
我想知道在培训结束时是否需要Keras 是否需要model.save_权重?,keras,Keras,我想知道在培训结束时是否需要model.save_weights()。假设我已经有了一个检查点: checkpoint=ModelCheckpoint( '重量{epoch:02d}-{val_损失:.2f}.h5', 监视器=“val_损失”, 详细=0, save_best_only=True, 仅保存权重=真, mode='min', 周期=1) 应已将重量保存在单独的h5文件中。是否仍需要model.save_weights()?您可以在每个训练时段后使用检查点保存模型权重,这将额外调
model.save_weights()
。假设我已经有了一个检查点:
checkpoint=ModelCheckpoint(
'重量{epoch:02d}-{val_损失:.2f}.h5',
监视器=“val_损失”,
详细=0,
save_best_only=True,
仅保存权重=真,
mode='min',
周期=1)
应已将重量保存在单独的
h5
文件中。是否仍需要model.save_weights()
?您可以在每个训练时段后使用检查点保存模型权重,这将额外调用model.save_weights()
过时。为此,您需要设置:
save\u weights\u only=True
,因为您只想保存权重period=1
,保存每个历元后的权重save\u best\u only=False
,因为否则,如果作为monitor
参数给出的度量没有改善,则不保存模型李>
在save\u best\u only=True的情况下
您可能无法保存最终权重,因此如果您对它们感兴趣,您需要在培训后显式调用model.save\u weights()
请注意,实际保存的内容还取决于您对第一个参数的输入,
filepath
:
- 一个修复文件路径,例如
,会导致一个单个保存的权重文件'weights.h5'
- 如果
则在每个历元后,它将被当前权重覆盖李>save\u best\u only=False
- 如果
并且监视的度量值变得更好,则权重文件将被覆盖,否则不会发生任何事情save\u best\u only=True
- 如果
- 如示例中的
格式的文件路径可能导致多个保存的权重文件'weights.{epoch:02d}-{val_loss:.2f}.h5'
- 如果
您将获得每个历元的文件save\u best\u only=False
- 如果
您将获得每个历元的一个文件,其中监视的度量值比所有以前历元中监视的最佳值有所改进。但是,以前保存的文件不会被覆盖,因为它们的文件名与当前文件名不同save\u best\u only=True
- 如果