tensorflow學習之Saver保存讀取

  目前不是很懂。。但主要意思是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

相關文章
相關標籤/搜索