# 1、你想创建多少Saver对象就可以创建多少,如果你需要去保存和恢复不同的子图模型 # 同样的变量可以在不同的saver对象中被加载 # 只有在Saver.restore()方法被调用的时候才会对变量的值进行计算 # 2、如果你在session开始的时候只恢复一部分变量的值。 # 你必须重新初始化其他变量的值 # 3、如果想检查checkpoint文件中变量的值,可以使用print_tensors_in_checkpoint_file函数 # 4、默认情况下,Saver使用tf.Variable.name属性来保存变量 # 然而当你创建一个Saver对象的时候,你或许可以为checkpoint文件中的变量选择一个名字 # 检查checkpoint文件中的变量 import tensorflow as tf # import the inspect_checkpoint library from tensorflow.python.tools import inspect_checkpoint as chkp # print all tensors in checkpoint file chkp.print_tensors_in_checkpoint_file("tmp/model.ckpt", tensor_name=None, all_tensors=True, all_tensor_names=True) # print only tensor v1 in checkpoint file chkp.print_tensors_in_checkpoint_file("tmp/model.ckpt", tensor_name='v1', all_tensors=False, all_tensor_names=False) # print only tensor v2 in checkpoint file chkp.print_tensors_in_checkpoint_file("tmp/model.ckpt", tensor_name='v2', all_tensors=False, all_tensor_names=False)
下面是输出的结果:
tensor_name: v1 [ 1. 1. 1.] tensor_name: v2 [-1. -1. -1. -1. -1.] tensor_name: v1 [ 1. 1. 1.] tensor_name: v2 [-1. -1. -1. -1. -1.]