2016-09-13 7 views
0

내가 단층 퍼셉트론을 훈련하는 것을 시도하고 데이터를 읽을 때 텐서 흐름에서 다음 데이터 파일에 (this에 내 코드를 내놓고) 모양 오류 :Tensorflow - 파일

1,1,0.05,-1.05 
1,1,0.1,-1.1 
.... 

마지막 열은 어디 label (3 개 매개 변수의 기능)이며 처음 세 개의 열은 함수 인수입니다.

import tensorflow as tf 

... # some basics to read the data 
example, label = read_file_format(filename_queue) 
... # model construction and parameter setting 

# Launch the graph 
with tf.Session() as sess: 
    sess.run(init) 
    for epoch in range(training_epochs): 
     _, c = sess.run([optimizer, cost], feed_dict={x: example, y: label}) 
    print("Optimization Finished!") 

하지만 난 그것을 실행하면 다음과 같은 오류 제공 : 데이터를 읽고 모델을 훈련 코드 (I 가독성을 위해 그것을 단순화)

Traceback (most recent call last): 
    File "nn.py", line 85, in <module> 
    _, c = sess.run([optimizer, cost], feed_dict={x: example, y: label}) 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 710, in run 
    run_metadata_ptr) 
    File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 887, in _run 
    % (np_val.shape, subfeed_t.name, str(subfeed_t.get_shape()))) 
ValueError: Cannot feed value of shape (3,) for Tensor u'Placeholder:0', which has shape '(?, 3)' 

답변

1

그래프는 X가 될 것으로 기대를 텐서 형상 (α, β). 예제 데이터는 길이가 3 인 1 차원 벡터 인 shape (3)입니다. 예제를 (1, 3)로 재구성하거나 한 번에 예제의 배치를 전달합니다 (예 : 10, 3))

+0

일괄 처리를 만드는 데 부담이되는 방법이 있습니까? 나는 example.reshape (1,3)을 시도했지만 더 나쁘게 보였다. "ValueError : Tensor u'Placeholder_1 : 0 '의 모양 값을'(?, 1) '로 변환 할 수 없습니다. " – user3639557

+0

아니, 그게 더 나아 졌어! 이제는 Placeholder_1에 대해 불평하고 있습니다. Y는 (-1, 1)로 바뀌므로 좋을 것입니다. – MMN

+0

그리고 걱정하지 마세요. 이것은 일괄 처리를 만드는 데 엄청난 방법입니다. TF 그래프는 자리 표시 자에서 시작하므로 일괄 처리를 만드는 데 필요한만큼 자연스러운 방법으로 데이터를 움직입니다. – MMN