畳み込みニューラルネットワークを使用してストリートビューハウスナンバー(SVHN)データを読み取るテンソルフローのコードを作成します。テンソルを使用した損失関数in input dim 1を使用しているインデックスの範囲
最初私はTFRecordsを使用して、その配列ラベルで各画像を読み取る、Iは、アレイ、に各画像のラベルを格納。例えば::
この[4,5,3,4,8,0]のような5348アドレスを含む画像のラベルを保存します。インデックス(画像)の桁数に関連するインデックス1と、このインデックスの最後の数字は、画像が存在することを意味し、4桁ではなく5桁であり、場合によっては3または2である。
レイヤーステップ。私は完全に接続されたレイヤーを5つ使用しましたが、私はそれをどうすればいいのか正確にはわかりませんが、ラベルの各桁ごとにロジットがあることはわかっています。それから私は、エラーが::
tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits = logits4, labels= labels[:,4])) +\
ValueError: Index out of range using input dim 1; input has only 1 dims for 'strided_slice' (op: 'StridedSlice') with input shapes: [2], [2], [2], [2] and with computed input tensors: input[3] = <1 1>.
EDIT :::
the codeある
logits1 = fully_connected(network, 10, weights_init='xavier') #activation='softmax'
logits2 = fully_connected(network, 10, weights_init='xavier')
logits3 = fully_connected(network, 10, weights_init='xavier')
logits4 = fully_connected(network, 10, weights_init='xavier')
logits5 = fully_connected(network, 10, weights_init='xavier')
loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits = logits1, labels= labels[:,1])) +\
tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits = logits2, labels= labels[:,2])) +\
tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits = logits3, labels= labels[:,3])) +\
tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits = logits4, labels= labels[:,4])) +\
tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(logits = logits3, labels= labels[:,5]))
各logitsのために損失関数を合計 - >それだけで固定されたとの仕事であります各アドレスの桁数
ラベルを '2Dテンソル'とすると、ラベルが '2Dテンソル'とみなされることがあります。それ以外の場合は動作しません。 –