tensorflow 加載部分變量的實(shí)例講解
tensorflow模型保存為saver = tf.train.Saver()函數(shù),saver.save()保存模型,代碼如下:
import tensorflow as tf v1= tf.Variable(tf.random_normal([784, 200], stddev=0.35), name="v1") v2= tf.Variable(tf.zeros([200]), name="v2") saver = tf.train.Saver() with tf.Session() as sess: init_op = tf.global_variables_initializer() sess.run(init_op) saver.save(sess,"checkpoint/model_test",global_step=1)
當(dāng)我們保存模型后,我們可以通過(guò)saver.restore()來(lái)加載模型,初始化變量:
import tensorflow as tf v1= tf.Variable(tf.random_normal([784, 200], stddev=0.35), name="v1") v2= tf.Variable(tf.zeros([200]), name="v2") saver = tf.train.Saver() with tf.Session() as sess: # init_op = tf.global_variables_initializer() # sess.run(init_op) saver.restore(sess, "checkpoint/model_test-1") # saver.save(sess,"checkpoint/model_test",global_step=1)
神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí),有時(shí)候我們需要從預(yù)訓(xùn)練的模型中加載部分參數(shù),初始化當(dāng)前模型,例如加入CNN有6層,我們需要從已有的模型初始化CNN前5層參數(shù).這可以通過(guò)saver.restore()實(shí)現(xiàn).
之前我們已經(jīng)介紹可以通過(guò)tf.train.Saver()的保存部分變量的方法,即需要保存的變量列表,同樣的,在變量初始化的時(shí)候,我們可以對(duì)需要單獨(dú)初始化的變量分別定義一個(gè)tf.train.Saver()函數(shù),這樣就可以單獨(dú)對(duì)該部分變量初始化,例如下面代碼,saver1用于初始化變量v1,saver2用于初始化變量v2,v3:
import tensorflow as tf v1= tf.Variable(tf.random_normal([784, 200], stddev=0.35), name="v1") v2= tf.Variable(tf.zeros([200]), name="v2") v3= tf.Variable(tf.zeros([100]), name="v3") #saver = tf.train.Saver() saver1 = tf.train.Saver([v1]) saver2 = tf.train.Saver([v2]+[v3]) with tf.Session() as sess: # init_op = tf.global_variables_initializer() # sess.run(init_op) saver1.restore(sess, "checkpoint/model_test-1") saver2.restore(sess, "checkpoint/model_test-1") # saver.save(sess,"checkpoint/model_test",global_step=1)
以上這篇tensorflow 加載部分變量的實(shí)例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python機(jī)器學(xué)習(xí)sklearn實(shí)現(xiàn)識(shí)別數(shù)字
本文主要介紹了python機(jī)器學(xué)習(xí)sklearn實(shí)現(xiàn)識(shí)別數(shù)字,主要簡(jiǎn)述如何通過(guò)sklearn模塊來(lái)進(jìn)行預(yù)測(cè)和學(xué)習(xí),最后再以圖表這種更加直觀的方式展現(xiàn)出來(lái),感興趣的可以了解一下2022-03-03
python里使用正則的findall函數(shù)的實(shí)例詳解
這篇文章主要介紹了python里使用正則的findall函數(shù)的實(shí)例詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-10-10
如何使Python中的print()語(yǔ)句運(yùn)行結(jié)果不換行
這篇文章主要介紹了如何使Python中的print()顯示當(dāng)前語(yǔ)句后不換行,print() 是一個(gè)常用函數(shù),但是每次,print()語(yǔ)句顯示后都會(huì)換行,本問(wèn)我們就來(lái)節(jié)日如何使print()顯示當(dāng)前語(yǔ)句后不換行,需要的朋友可以參考一下2022-03-03
pandas DataFrame數(shù)據(jù)轉(zhuǎn)為list的方法
下面小編就為大家分享一篇pandas DataFrame數(shù)據(jù)轉(zhuǎn)為list的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
如何利用Python+OpenCV實(shí)現(xiàn)簡(jiǎn)易圖像邊緣輪廓檢測(cè)(零基礎(chǔ))
輪廓是形狀分析和物體檢測(cè)和識(shí)別的有用工具,下面這篇文章主要給大家介紹了關(guān)于如何利用Python+OpenCV實(shí)現(xiàn)簡(jiǎn)易圖像邊緣輪廓檢測(cè)(零基礎(chǔ))的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05

