2017-04-11 8 views
0

テンソルでテンソルにラベルを送ることができません。私のバッチサイズは、私が持っているクラスの3倍の数である:ValueError:Tensorのシェイプ(57,1)の値を入力できません

x = tf.placeholder(tf.float32,[None,457)],name='Train_data')# each input has a length of 457 
y_ = tf.placeholder(tf.float32,[None,numberOFClasses],name='Labels')# 
......................................................................... 
for j in range(len(batch_xs[0])-1):# this is the input data which is fine 
    print(sess.run(train_step,feed_dict={x:batch_xs[j],y_:np.reshape(batch_ys[j] ,(batchSize,1))})) 

コードは、データはまた、唯一の問題は、ここでラベルY_の形状で結構です罰金私が得るものです

ValueError: Cannot feed value of shape (57, 1) for Tensor 'Labels:0', which has shape '(?, 19)' 

size of batch_ys[i] is 57

私はそれを参照してください方法はので、私のY_はそれで57ラベルを持っている必要があり57 = 3*19=3*number of classes. 場合、私はバッチサイズを持っているのですか?何がここに間違っているアイデア?あなたの変数numberOFClassesがが19に設定されているため

答えて

0

、シェイプ(57、19)代わりの形状(57、1)とテンソルを養う必要があります。

のエラーメッセージ(?、19)は、常に任意のバッチサイズを参照します。

問題はバッチサイズではなく、入力の形です。

+0

返信いただきありがとうございますが、まだ手に入れられませんか? 57個のバッチ(57個のサンプルフォームのデータ)があれば、ラベルを付けるには3 * 19クラスが必要ですか?右? – Engine

+0

はい、サンプルあたり1つのラベルが必要です。したがって、バッチに57の入力サンプルがある場合、57個のラベルが必要です。 – tony

関連する問題