2016-03-31 20 views
0
benim verilere logreg örneği mevcut adapte çalışıyorum ve aşağıdaki hatayı alıyorsanız

:TensorFlow şekil hatası

Epoch: 0001 cost= 
Traceback (most recent call last): 
    File "tflin.py", line 64, in <module> 
    print "Epoch:", '%04d' % (epoch+1), "cost=", "{:.9f}".format(sess.run(cost, feed_dict={X: train_X, Y:train_Y})), \ 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 315, in run 
    return self._run(None, fetches, feed_dict) 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 506, in _run 
    % (np_val.shape, subfeed_t.name, str(subfeed_t.get_shape()))) 
ValueError: Cannot feed value of shape (60000, 6) for Tensor u'Placeholder:0', which has shape '(6,)' 

Kaynak kod burada bulunabilir: https://github.com/ilautar/tensorflow-test/blob/master/tflin.py

eminim Açık, herhangi bir işaretçi?

cevap

2

hata meydana gelir uzunluğu 6 bir vektör olabilir için tanımlanmış olan bir tf.placeholder() bir 60000 x 6 matris beslemek için çalışıyor için oluşur, Igor teşekkürler eklendiğinde try to feed the whole train_X matrixfeeding a single row karşı (ve, başarılı olan).

  1. değişen şekle sahip olabilir, hangi toplu girişler açısından sizin tutucuları (ve modelini) tanımlayın:

    # tf Graph Input 
    X = tf.placeholder(tf.float32, [None, n_input]) 
    Y = tf.placeholder(tf.float32, [None]) 
    
  2. bu işi yapmak için en iyi yol şunları yapmaktır

    # Fit all training data 
    for epoch in range(training_epochs): 
        for (x, y) in zip(train_X, train_Y): 
         sess.run(optimizer, feed_dict={X: x[numpy.newaxis, ...], 
                 Y: y[numpy.newaxis, ...]}) 
    
  3. :

    tek örnekte besleme, bir 1 x 6 matris numpy.newaxis kullanılarak olmak genişletmek

+0

Teşekkürler, bu işe yarıyor. –

+0

Aynı sorunu yaşadım, ancak bu düzeltmeyi kullandığımda hatayı alıyorum 'TypeError: dize indisleri tamsayı olmalı, tuple değil –

+0

@ZachEisner Dilediğiniz değerlerin, NumPy yerine Python dizeleri olduğu anlaşılıyor diziler. Sorunun nerede olduğunu gösteren bir kod snippet'i ile başka bir soru göndermek için çekinmeyin. – mrry