我在C中使用TensorFlow训练我的模型. Python仅用于构造图形.那么有没有一种方法可以在C中保存和恢复图形及其状态?我知道Python类tf.train.Saver但据我所知它在C中不存在.
解决方法:
tf.train.Saver类目前仅存在于Python中,但是(i)它是从TensorFlow操作构建的,您可以从C运行,以及(ii)它公开了Saver.as_saver_def()
方法,该方法可以让您获得带有操作名称的SaverDef
protocol buffer您必须运行以保存或恢复模型.
在Python中,您可以获取保存和恢复操作的名称,如下所示:
saver = tf.train.Saver(...)
saver_def = saver.as_saver_def()
# The name of the tensor you must Feed with a filename when saving/restoring.
print saver_def.filename_tensor_name
# The name of the target operation you must run when restoring.
print saver_def.restore_op_name
# The name of the target operation you must run when saving.
print saver_def.save_tensor_name
在要从检查点恢复的C中,调用Session :: Run(),将检查点文件的名称作为saver_def.filename_tensor_name提供,目标操作为saver_def.restore_op_name.要保存另一个检查点,请调用Session :: Run(),再次将检查点文件的名称作为saver_def.filename_tensor_name,并获取saver_def.save_tensor_name的值.