2016-01-31 70 views
2

提出以下是此頁https://www.tensorflow.org/versions/0.6.0/tutorials/deep_cnn/index.html需要提示的練習中Tensorflow卷積神經網絡教程

運動對提出的問題行使:推斷的輸出是未歸一logits。嘗試 編輯網絡體系結構以使用tf.softmax()返回標準化預測 。

在本練習的精神中,我想知道我是否在正確的軌道上(而不是尋找編碼答案)。

這是我提出的解決方案。

步驟1:在實施例(推斷的)最後層是「softmax_linear」,即,它根本的非標準化 WX + B轉化。按照規定,我們將tf.nn.softmax作業與softmax_linear作爲輸入。這將輸出標準化爲範圍[0,1]上的概率。

第2步:下一步是修改損失函數中的交叉熵計算。由於我們已經有了標準化的輸出,我們需要用一個普通的cross_entropy(normalized_softmax, labels)函數替換tf.nn.softmax_cross_entropy_with_logits操作(在計算損失之前,不會進一步標準化輸出)。我相信這個函數是而不是在tensorflow庫中可用;它需要寫入。

就是這樣。反饋請懇求。

回答

0

如果您在cifar10_eval.py(而不是cifar10.py)中插入tf.nn.softmax(),步驟1就足夠了。例如:

logits = cifar10.inference(images) 
normalized_logits = tf.nn.softmax(logits) 
top_k_op = tf.nn.in_top_k(normalized_logits, labels, 1) 
相關問題