這篇文章給大家分享的是有關如何對tensorflow的模型保存和調用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
我們通常采用tensorflow來訓練,訓練完之后應當保存模型,即保存模型的記憶(權重和偏置),這樣就可以來進行人臉識別或語音識別了。
1.模型的保存
# 聲明兩個變量
v1 = tf.Variable(tf.random_normal([1, 2]), name="v1")
v2 = tf.Variable(tf.random_normal([2, 3]), name="v2")
init_op = tf.global_variables_initializer() # 初始化全部變量
saver = tf.train.Saver() # 聲明tf.train.Saver類用于保存模型
with tf.Session() as sess:
sess.run(init_op)
print("v1:", sess.run(v1)) # 打印v1、v2的值一會讀取之后對比
print("v2:", sess.run(v2))
#定義保存路徑,一定要是絕對路徑,且用‘/ '分隔父目錄與子目錄
saver_path = saver.save(sess, "C:/Users/Administrator/Desktop/tt/model.ckpt") # 將模型保存到save/model.ckpt文件
print("Model saved in file:", saver_path)2.模型的讀取
直接讀取模型時,可能會報錯,我是用Spyder編譯的,可以把Spyder關掉,再重新打開,就可以讀取數據了。原因可能是:在模型保存時將變量初始化了。
import tensorflow as tf
# 使用和保存模型代碼中一樣的方式來聲明變量
v1 = tf.Variable(tf.random_normal([1, 2]), name="v1")
v2 = tf.Variable(tf.random_normal([2, 3]), name="v2")
saver = tf.train.Saver() # 聲明tf.train.Saver類用于保存模型
with tf.Session() as sess:
saver.restore(sess, "C:/Users/Administrator/Desktop/tt/model.ckpt") # 即將固化到硬盤中的Session從保存路徑再讀取出來
print("v1:", sess.run(v1)) # 打印v1、v2的值和之前的進行對比
print("v2:", sess.run(v2))
print("Model Restored")感謝各位的閱讀!關于“如何對tensorflow的模型保存和調用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。