對tensorflow 的模型保存和調(diào)用實例講解
更新時間:2018年07月28日 08:55:33 作者:luoganttcc
今天小編就為大家分享一篇對tensorflow 的模型保存和調(diào)用實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
我們通常采用tensorflow來訓練,訓練完之后應當保存模型,即保存模型的記憶(權(quán)重和偏置),這樣就可以來進行人臉識別或語音識別了。
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關(guān)掉,再重新打開,就可以讀取數(shù)據(jù)了。原因可能是:在模型保存時將變量初始化了。
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 的模型保存和調(diào)用實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python selenium登錄豆瓣網(wǎng)過程解析
這篇文章主要介紹了python selenium登錄豆瓣網(wǎng)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08
Python enumerate() 函數(shù)如何實現(xiàn)索引功能
這篇文章主要介紹了Python enumerate() 函數(shù)如何實現(xiàn)索引功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06
詳解Python匿名函數(shù)(lambda函數(shù))
這篇文章主要介紹了Python匿名函數(shù)(lambda函數(shù)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04

