目前不是很懂。。但主要意思是tf能夠把一開始定義的參數,包括Weights和Biases保存到本地,而後再定義一個變量框架去加載(restore)這個參數,做爲變量自己的參數進行後續的訓練,具體以下:框架
import numpy as np #Save to file W = tf.Variable([[1,2,3],[3,4,5]],dtype=tf.float32,name='weights') b = tf.Variable([[1,2,3]],dtype=tf.float32,name='biases') init= tf.global_variables_initializer() saver = tf.train.Saver() with tf.Session() as sess: sess.run(init) save_path = saver.save(sess,"my_net/save_net.ckpt") print("Save to path:", save_path)
和代碼同一目錄下就出現了my_net這個文件夾,同時裏面有了四個文件spa
而後,開始restore該參數rest
# restore variables #redefine the same shape and same type for your variables tf.reset_default_graph() W = tf.Variable(np.arange(6).reshape((2,3)),dtype=tf.float32,name="weights") b = tf.Variable(np.arange(3).reshape((1,3)),dtype=tf.float32,name="biases") #not need init step saver = tf.train.Saver() with tf.Session() as sess: saver.restore(sess,"my_net/save_net.ckpt") print("weights:", sess.run(W)) print("biases:", sess.run(b))
#
INFO:tensorflow:Restoring parameters from my_net/save_net.ckpt weights: [[1. 2. 3.] [3. 4. 5.]] biases: [[1. 2. 3.]]
能夠看到把原來的weights和biases都加載了code