TensorFlow打印tensor值的實(shí)現(xiàn)方法
最近一直在用TF做CNN的圖像分類,當(dāng)softmax層得到預(yù)測(cè)結(jié)果后,我希望能夠看到預(yù)測(cè)結(jié)果,以便和標(biāo)簽之間進(jìn)行比較。特此補(bǔ)上,以便自己記憶。
我現(xiàn)在通過softmax層得到變量train_logits,如果我直接執(zhí)行print(train_logits)時(shí),得到的結(jié)果如下(因?yàn)槲沂?34類分類,所以結(jié)果是(1,134)維):
這貌似什么都看不出來。
其實(shí)tensorflow提供輸出中間值方法方便debug。
這個(gè)函數(shù)就是[tf.Print]。
tf.Print( input_, data, message=None, first_n=None, summarize=None, name=None )
參數(shù):
input_: 通過此op的一個(gè)tensor.
data: 當(dāng)此op被計(jì)算之后打印輸出的tensor list。
message: 錯(cuò)誤消息的前綴,是一個(gè)string。
first_n: 只記錄first_n次. 總是記錄負(fù)數(shù);這是個(gè)缺省.
summarize: 對(duì)每個(gè)tensor只打印的條目數(shù)量。如果是None,對(duì)于每個(gè)輸入tensor只打印3個(gè)元素。
name: op的名字.
返回值:
和input_相同的tensor.
將print(train_logits)修改為sess.run(tf.Print(train_logits,[train_logits]))后,得到的結(jié)果如下圖:
發(fā)現(xiàn)值已經(jīng)能夠打印啦!但是只能輸出3個(gè)條目,這是因?yàn)閰?shù)summarize默認(rèn)只打印3個(gè)參數(shù)!
將sess.run(tf.Print(train_logits,[train_logits]))修改為sess.run(tf.Print(train_logits,[train_logits],summarize=134))后(我是134類分類),得到的結(jié)果如下圖:
這樣就能成功地打印tensor的中間結(jié)果了!以后調(diào)參、查看模型效果就直觀多了!
以上這篇TensorFlow打印tensor值的實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python新式類和經(jīng)典類的區(qū)別實(shí)例分析
這篇文章主要介紹了python新式類和經(jīng)典類的區(qū)別,結(jié)合實(shí)例形式分析了python新式類和經(jīng)典類的功能、區(qū)別與使用方法,需要的朋友可以參考下2020-03-03Python的Django框架中URLconf相關(guān)的一些技巧整理
這篇文章主要介紹了Python的Django框架中URLconf相關(guān)的一些技巧整理,包括視圖配置和debug的示例等,需要的朋友可以參考下2015-07-07Python使用eel模塊創(chuàng)建GUI應(yīng)用程序
在Python中,有許多庫(kù)和模塊可以用來創(chuàng)建圖形用戶界面(GUI)應(yīng)用程序,其中一個(gè)流行的選擇是使用eel模塊,下面小編就來為大家詳細(xì)介紹一下如何使用eel模塊創(chuàng)建GUI應(yīng)用程序吧2023-12-12深入理解Python內(nèi)置函數(shù)map filter reduce及與列表推導(dǎo)式對(duì)比
這篇文章主要為大家介紹了Python內(nèi)置函數(shù)map filter reduce及與列表推導(dǎo)式對(duì)比方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Python編程實(shí)現(xiàn)的簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)算法示例
這篇文章主要介紹了Python編程實(shí)現(xiàn)的簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)算法,結(jié)合實(shí)例形式分析了神經(jīng)網(wǎng)絡(luò)算法的原理及Python相關(guān)算法實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-01-01