您好,登錄后才能下訂單哦!
在使用TensorFlow的過程中,保存模型參數變量是很重要的一個環節,既可以保證訓練過程信息不丟失,也可以幫助我們在需要快速恢復或使用一個模型的時候,利用之前保存好的參數之間導入,可以節省大量的訓練時間。本文通過最簡單的例程教大家如何保存和讀取.ckpt文件。
一、保存到文件
首先是導入必要的東西:
import tensorflow as tf import numpy as np
隨便寫幾個變量:
# Save to file # remember to define the same dtype and shape when restore 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.initialize_all_variables()
定義一個saver,來存儲我們的各種變量:
saver = tf.train.Saver()
保存的文件用.ckpt后綴:
with tf.Session() as sess: sess.run(init) save_path = saver.save(sess, "my_net/save_net.ckpt") print("Save to path: ", save_path)
上面我們就完成了保存操作。
接下來我們要把之前保存過的變量取出來。
二、取出之前保存的變量
這里要注意,取出時要先開辟一個容器來裝,shape和type要和我們之前保存的.ckpt一樣。
# restore variables # redefine the same shape and same type for your variables 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")
restore時,不需要進行init= tf.initialize_all_variables()操作。
利用saver提取文件:
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))
結果:
以上這篇TensorFlow Saver:保存和讀取模型參數.ckpt實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。