我正在测试保存模型的选项,然后在另一个python实例中恢复它。为此,我正在做的是使用此代码来保存模型:
saver = tf.train.Saver([weights0,weights1,weights2,syn0,bias0,syn1,bias1],max_to_keep = 2)
saver.save(sess, '..\\places365_TFG\\models\\CNNFinalModel', global_step=l)
然后在另一个python实例中我这样做:
new_saver = tf.train.import_meta_graph('..\\places365_TFG\\models\\CNNFinalModel-67.meta')
new_saver.restore(sess,
tf.train.latest_checkpoint('..\\places365_TFG\\models\\./'))
graph = tf.get_default_graph()
weights0 = graph.get_tensor_by_name("weights0:0")
要检查weight0的值是否已经很好地恢复,我会这样做:
sess.run(weights0)
变量weights0初始化如下:
def weight_variable(shape,name):
initial = tf.truncated_normal(shape, stddev=0.1, name=name)
return tf.Variable(initial)
weights0 = weight_variable([3,3,3,16], name='weights0')
我看到的问题是,每次执行此操作时,weigths0的值都会发生变化。我想这是因为它被定义为变量,但我想保留我从原始神经网络中保存的值。
我该怎么做?
提前谢谢。