使用TensorFlow模型持久化保存和加载(案例实战)

这篇博客详细介绍了如何使用TensorFlow的tf.train.Saver()类保存和加载模型参数。内容包括tf.train.Saver()构造函数的参数解释,模型保存的4个文件类型以及save和load函数的使用方法,并提供了代码演示。
摘要由CSDN通过智能技术生成

一、语法解释

使用tf.train.Saver()类来保存模型的参数:

saver = tf.train.Saver()  #生成一个保存对象

然后在会话Session()中以当前环境Session为参数,保存训练好的模型参数到本地磁盘:

saver.save(sess,'model/mymodel') #保存到当前路径下的model文件中,并以mymodel为文件名前缀

tf.train.Saver()的构造函数定义:

def __init__(self,
               var_list=None,
               reshape=False,
               sharded=False,
               max_to_keep=5,
               keep_checkpoint_every_n_hours=10000.0,
               name=None,
               restore_sequentially=False,
               saver_def=None,
               builder=None,
               defer_build=False,
               allow_empty=False,
               write_version=saver_pb2.SaverDef.V2,
               pad_step_number=False,
               save_relative_paths=False,
               filename=None):

 

__init__参数说明:

  • var_list:Variable/ 的列表SaveableObject,或者将名称映射到SaveableObjects 的字典。如果None,默认为所有可保存对象的列表。
  • reshape:If True,允许从变量具有不同形状的检查点恢复参数。
  • sharded:如果True,将每个设备分成一个检查点。
  • max_to_keep:要保留的最近检查点的最大数量。默认为5。
  • keep_checkpoint_every_n_hours:保持检查站的频率。默认为10,000小时。
  • name:字符串。添加操作时用作前缀的可选名称。
  • restore_sequentially:A Bool,如果为true,则导致不同变量的恢复在每个设备中顺序发生。这可以在恢复非常大的模型时降低内存使用量。
  • saver_def:SaverDef使用可选的proto而不是运行构建器。这仅适用于想要Saver为先前构建的Graph具有a 的对象重新创建对象的专业代码Saver。该saver_def原型应该是返回一个 as_saver_def()的电话Saver说是为创建Graph。
  • builder:SaverBuilder如果saver_def未提供,则可以选择使用。默认为BulkSaverBuilder()。
  • defer_build:如果True,请将保存和恢复操作添加到 build()呼叫中。在这种情况下,build()应在最终确定图表或使用保护程序之前调用。
  • allow_empty:如果False(默认)如果图中没有变量则引发错误。否则,无论如何构建保护程序并使其成为无操作。
  • write_version:控制保存检查点时使用的格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值