2016-11-23 1 views
0

Tensorflow에서 MLP (Multi Layer Perceptron)를 작성하려고합니다. numpy를 사용하여 생성 된 데이터 집합을 사용하고 있습니다. 데이터 세트에는 두 개의 변수 만 있으며 그 중 하나는 레이블입니다. 이 데이터 집합에는 범위에서 정규화 된 100 포인트가 포함되어 있습니다. 0.5Tensorflow에서 Dict 오류가 발생했습니다.

print(trainX[0:3]) 

[ 0.2853112 0.2433195 0.56746888] 

모든 값은, 그렇지 않으면 라벨 2이, 라벨 1 있습니다.

print(trainY[0:3]) 

    [2 2 1] 

이 문제는 tf.Session() 루프에서 발생합니다.

with tf.Session() as sess: 

    sess.run(init) 

    for epoch in range(training_epochs): 
     #avg_cost = 0. 

     for (xs, ys) in zip(trainX, trainY): 
      sess.run(optimizer, feed_dict={X:xs, Y:ys}) 

스크립트는 다음과 같은 오류와 함께, 그 마지막 줄에서 종료 :

X = tf.placeholder("float") 
Y = tf.placeholder("float") 

I을 다음과 같이

InvalidArgumentError: Expected begin[0] == 0 (got -1) and size[0] == 0 (got 1)  when input.dim_size(0) == 0 
[[Node: Slice_132 = Slice[Index=DT_INT32, T=DT_INT32, _device="/job:localhost/replica:0/task:0/cpu:0"](Shape_134, Slice_132/begin, Slice_132/size)]] 

또한 스크립트에서, 내가 자리 표시자를 선언 더 많은 코드를 게시하게되어 기쁩니다. 간결함을 위해, (지금까지) 모든 것을 게시하지 않았습니다.

+1

더 많은 코드를 제공 할 수 있습니까? 코드 어딘가에 잘못된 슬라이스 작업이있는 것 같습니다. – Neal

+0

안녕 Neal, 나는 전체 대본을 썼다. 문제를 일으키는 코드를 다시 게시 할 수 있습니다. https://github.com/miramolin/TensorFlowTutorials/blob/master/TFRoughlings.ipynb –

답변

1

라벨 색인을 수정하려고합니다. 0부터 시작해야합니다. 귀하의 경우, trainY = np.array([1, 1, 0]). 나는 그것이 당신의 문제를 해결할 것이라고 생각합니다.

+1

어쩌면 trainX에서 약간의 오류가있을 수 있습니다. – daoliker

관련 문제