2016-04-26 15 views
0

私の仕事は画像をピクセルごとに分類することです。画像の各ピクセルがクラスを持ち、CNNは各ピクセルがクラスの離散値を持つようにラベル画像を読み出すことができます(0-19 )。softmaxレイヤーの後にTensorflow CNNを整数に読み取る方法は?

相対値を再現していると思われるCNNがありますので、0.00001と0.00002の範囲のラベル画像に近似しています...しかし、クロスエントロピーを得るのに問題があります。それは離散的な値を持つ画像のラベル行列に頼っているため、単に「良いの種類」を超えて動作します。また

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

、私は私が見てされるので、私はonehotベクトルに頼ることができるとは思いません19 * 227 * 227の行列ですが、ここで解決策がなければそれを試してみてください。とにかく


、私はソフトマックスで返される値で、この整数ボクシングをどのように行うのですか?画像の各ピクセルの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

希望します。

関連する問題