2016-04-26 67 views
0

我的任務是按像素對圖像進行分類...因此圖像的每個像素都有一個類,並且CNN應該能夠讀出標籤圖像,使得每個像素都具有該類的離散值(0-19 )。如何在softmax圖層讀取Tensorflow CNN爲整數?

我有一個美國有線電視新聞網,似乎做得很好,再現相對價值,所以它近似的標籤圖像的範圍爲0.00001和0.00002 ...但是,我很難得到交叉熵工作不僅僅是「好樣的」,因爲它是依靠圖像標籤矩陣與離散值:

[[0, 1, 1, 1],[1,1,3,3],.etc] # A 2x4 pixel example 

另外,我不認爲我可以靠onehot載體,因爲我會在看一個19 * 227 * 227的矩陣......但也許我會嘗試,如果這裏沒有解決方案。


無論如何,我該如何對softmax中的返回值做整數裝箱?我必須爲圖像中的每個像素執行1hot矢量,還是可以通過其他方式將softmax分佈更改爲整數類?

回答

2

我意識到這個答案有點晚,但希望它會有所幫助。你不必創建一個熱門的向量;你可以使用tf.nn.sparse_softmax_cross_entropy_with_logits

labels: Each entry labels[i] must be an index in [0, num_classes) or -1. If -1, the corresponding loss will be 0, regardless of the contents of logits[i].

見下文,下面提供的文件的鏈接和鏈接爲一個例子它在一個教程CIFAR-10網絡中使用。 https://www.tensorflow.org/versions/r0.8/api_docs/python/nn.html#sparse_softmax_cross_entropy_with_logits https://github.com/tensorflow/tensorflow/blob/master/tensorflow/models/image/cifar10/cifar10.py

希望這有助於!

相關問題