溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

TensorFlow打印tensor值的實現(xiàn)方法

發(fā)布時間:2020-10-21 12:37:34 來源:腳本之家 閱讀:812 作者:Panda_Peng 欄目:開發(fā)技術

最近一直在用TF做CNN的圖像分類,當softmax層得到預測結果后,我希望能夠看到預測結果,以便和標簽之間進行比較。特此補上,以便自己記憶。

我現(xiàn)在通過softmax層得到變量train_logits,如果我直接執(zhí)行print(train_logits)時,得到的結果如下(因為我是134類分類,所以結果是(1,134)維):

TensorFlow打印tensor值的實現(xiàn)方法

這貌似什么都看不出來。

其實tensorflow提供輸出中間值方法方便debug。

這個函數就是[tf.Print]。

tf.Print( 
input_, 
data, 
message=None, 
first_n=None, 
summarize=None, 
name=None 
)

參數:

input_: 通過此op的一個tensor.

data: 當此op被計算之后打印輸出的tensor list。

message: 錯誤消息的前綴,是一個string。

first_n: 只記錄first_n次. 總是記錄負數;這是個缺省.

summarize: 對每個tensor只打印的條目數量。如果是None,對于每個輸入tensor只打印3個元素。

name: op的名字.

返回值:

和input_相同的tensor.

將print(train_logits)修改為sess.run(tf.Print(train_logits,[train_logits]))后,得到的結果如下圖:

TensorFlow打印tensor值的實現(xiàn)方法

發(fā)現(xiàn)值已經能夠打印啦!但是只能輸出3個條目,這是因為參數summarize默認只打印3個參數!

將sess.run(tf.Print(train_logits,[train_logits]))修改為sess.run(tf.Print(train_logits,[train_logits],summarize=134))后(我是134類分類),得到的結果如下圖:

TensorFlow打印tensor值的實現(xiàn)方法

這樣就能成功地打印tensor的中間結果了!以后調參、查看模型效果就直觀多了!

以上這篇TensorFlow打印tensor值的實現(xiàn)方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI