您好,登錄后才能下訂單哦!
最近一直在用TF做CNN的圖像分類,當softmax層得到預測結果后,我希望能夠看到預測結果,以便和標簽之間進行比較。特此補上,以便自己記憶。
我現(xiàn)在通過softmax層得到變量train_logits,如果我直接執(zhí)行print(train_logits)時,得到的結果如下(因為我是134類分類,所以結果是(1,134)維):
這貌似什么都看不出來。
其實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]))后,得到的結果如下圖:
發(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類分類),得到的結果如下圖:
這樣就能成功地打印tensor的中間結果了!以后調參、查看模型效果就直觀多了!
以上這篇TensorFlow打印tensor值的實現(xiàn)方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。