2017-04-16 50 views
0

我正在嘗試使用Tensorflow進行分類的一個非常簡單的示例。而不是使用one-hot vector,tf.nn.softmax和logittropy損失。我想使用0/1標籤的離散情況。 NN模型的輸出爲0或1.因此,我做了這樣的y_ = tf.nn.sigmoid(tf.matmul(hidden,weight2)+ bias2) y_ = tf.cast(tf.greaterequal(y ,0.5),tf.float32)所以這會給張量0或1.但是當我嘗試訓練這給了我錯誤說沒有梯度提供。這是完整的代碼。 https://gist.github.com/kris-singh/54aecbc1d61f1d7d79a43ae2bfac8516我的問題我想要做的是在tf還是不行?如果是的話如何?在Tensorflow中使用離散標籤進行分類

+1

我認爲不可能像使用tf.greaterequal()一樣使用一些最大函數和梯度下降優化器。我無法想象這樣的優化器應該如何處理離散的網絡輸出。您可以允許使用sigmoid連續輸出網絡,並僅執行cast()和其他greaterequal()操作來測量某種分類準確性,而不是用於訓練本身。 – ml4294

+0

是....感謝我一直在思考相同的路線,我明白,後向傳播將不適用於計算圖中的「投射」節點。但是,當用筆和紙來計算時,這對我來說似乎很合理。在這種情況下,傳播的錯誤將爲0或1。這是否有道理? –

回答

0

我認爲評論回答了問題。

相關問題