2016-11-13 17 views
0

Tensorflowツールを使用してニューラルネットワークを作成しようとしています。TensorflowのInvalidArgumentError

sizeOfRow = len(data[0]) 
x = tensorFlow.placeholder("float", shape=[None, sizeOfRow]) 
y = tensorFlow.placeholder("float") 

def neuralNetworkTrain(x): 
    prediction = neuralNetworkModel(x) 
    # using softmax function, normalize values to range(0,1) 
    cost = tensorFlow.reduce_mean(tensorFlow.nn.softmax_cross_entropy_with_logits(prediction, y)) 

これは私がエラーをネット から一部持っている:何の `s間違っ

InvalidArgumentError (see above for traceback): logits and labels must be same size: logits_size=[500,2] labels_size=[1,500] 
[[Node: SoftmaxCrossEntropyWithLogits = SoftmaxCrossEntropyWithLogits[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](Reshape, Reshape_1)]] 

誰かが知っていますか?

編集: はまた、私はこのコードから持っている:

for temp in range(int(len(data)/batchSize)): 
    ex, ey = takeNextBatch(i) # takes 500 examples 
    i += 1 
    # TO-DO : fix bug here 
    temp, cos = sess.run([optimizer, cost], feed_dict= {x:ex, y:ey}) 

このエラー はTypeError:非ハッシュの種類: 'リスト'

答えて

0

まあ、誤差はかなり自己記述があります。

logits and labels must be same size: logits_size=[500,2] labels_size=[1,500]

だから、まず、あなたのラベルが大き500, 1と第二を持つように転置しなければならない、softmax_cross_entropy_with_logitslabelsは、確率分布(例えば、[[0.1, 0.9], [1.0, 0.0]])の形で提示することを期待しています。

クラスが排他的であることが分かっている場合は、おそらくsparse_softmax_cross_entropy_with_logitsに切り替える必要があります。

関連する問題