打印tensorflow恢復(fù)模型中所有變量與操作節(jié)點(diǎn)方式
我就廢話不多說(shuō)了,大家還是直接看代碼吧!
#參數(shù)恢復(fù) self.sess=tf.Session() saver = tf.train.import_meta_graph(os.path.join(model_fullpath,'model.ckpt-7.meta')) module_file = tf.train.latest_checkpoint(model_fullpath) saver.restore(self.sess, module_file) variable_names = [v.name for v in tf.trainable_variables()] variable_names = [v.name for v in tf.global_variables()] values = self.sess.run(variable_names) i=0 for k, v in zip(variable_names, values): i+=1 if k.find('encode')!=-1: print(f"第 {i} 個(gè)variable") print("Variable: ", k) print("Shape: ", v.shape) print(v) graph = tf.get_default_graph() all_ops = graph.get_operations() for el in all_ops: print(el.name)
輸出結(jié)果:
補(bǔ)充知識(shí):TensorFlow:.ckpt文件與.ckpt.meta和.ckpt.index以及.pb文件之間的關(guān)系是什么?
再使用 tf.train.Saver() 保存參數(shù)通常會(huì)生成以下文件
那么這些文件具體是什么呢?
.ckpt文件:是舊版本的輸出saver.save(sess),相當(dāng)于你的.ckpt-data
“checkpoint”:文件僅用于告知某些TF函數(shù),這是最新的檢查點(diǎn)文件。
.ckpt-meta:包含元圖,即計(jì)算圖的結(jié)構(gòu),沒(méi)有變量的值(基本上你可以在tensorboard / graph中看到)。
.ckpt-data:包含所有變量的值,沒(méi)有結(jié)構(gòu)。
.ckpt-index:可能是內(nèi)部需要的某種索引來(lái)正確映射前兩個(gè)文件,它通常不是必需的
你可以只用 .ckpt-meta 和恢復(fù)一個(gè)模型 .ckpt-data
要在python中恢復(fù)模型,您通常會(huì)使用元數(shù)據(jù)和數(shù)據(jù)文件(但您也可以使用該.pb文件):
saver = tf.train.import_meta_graph(path_to_ckpt_meta) saver.restore(sess, path_to_ckpt_data)
該.pb文件可以保存您的整個(gè)圖表(元+數(shù)據(jù))
要在c ++中加載和使用(但不訓(xùn)練)圖形,您通常會(huì)使用它來(lái)創(chuàng)建freeze_graph,它會(huì).pb從元數(shù)據(jù)和數(shù)據(jù)創(chuàng)建文件。
要小心,(至少在以前的TF版本和某些人中)py提供的功能freeze_graph不能正常工作,所以你必須使用腳本版本。
以上這篇打印tensorflow恢復(fù)模型中所有變量與操作節(jié)點(diǎn)方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python爬取奶茶店數(shù)據(jù)分析哪家最好喝以及性價(jià)比
這篇文章主要介紹了用Python告訴你奶茶哪家最好喝性價(jià)比最高,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-09-09詳解Python中高階函數(shù)(map,filter,reduce,sorted)的使用
高階函數(shù)就是能夠把函數(shù)當(dāng)成參數(shù)傳遞的函數(shù)就是高階函數(shù),換句話說(shuō)如果一個(gè)函數(shù)的參數(shù)是函數(shù),那么這個(gè)函數(shù)就是一個(gè)高階函數(shù)。本文為大家詳細(xì)講解了Python中常用的四個(gè)高階函數(shù),感興趣的可以了解一下2022-04-04Python requests timeout的設(shè)置
這篇文章主要介紹了Python requests timeout的設(shè)置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04淺談pycharm下找不到sqlalchemy的問(wèn)題
今天小編就為大家分享一篇淺談pycharm下找不到sqlalchemy的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12基于python實(shí)現(xiàn)音樂(lè)播放器代碼實(shí)例
這篇文章主要介紹了基于python實(shí)現(xiàn)音樂(lè)播放器代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07Python中字符串,列表與字典的常用拼接方法總結(jié)
有時(shí)在數(shù)據(jù)處理時(shí),需要對(duì)數(shù)據(jù)進(jìn)行拼接處理,比如字符串的拼接、列表的拼接等,本文主要是介紹了字符串、列表、字典常用的拼接方法,希望對(duì)大家有所幫助2024-02-02使用matplotlib修改坐標(biāo)軸,將y軸的間距設(shè)置為某一個(gè)值
這篇文章主要介紹了使用matplotlib修改坐標(biāo)軸,將y軸的間距設(shè)置為某一個(gè)值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02