2016-11-24 2 views
0

샘플 MNIST handwritten numbers tutorial을 실행 중입니다.tensorflow 세션에 하나의 입력을 적용하고 출력을 얻습니다.

방법은 첫 번째 테스트 MNIST 이미지로 세션을 활성화 수 있으며, 희망 는 예상 출력을 얻을? 나는이 작업을 수행 할 때

는 :

print(sess.run(tf.convert_to_tensor(mnist.test.images[0]))) 

나는 (추측) 무게와 784-긴 텐서를 얻을 :

... 
... 
... 
0.94901967 0.99607849 0.99607849 0.20392159 0.   0.   0. 
0.   0.   0.   0.   0.   0.   0. 
0.   0.   0.   0.   0.   0.   0. 
0.   0.   0.   0.   0.   0. 
0.47450984 0.99607849 0.99607849 0.8588236 0.15686275 0.   0. 
0.   0.   0.   0.   0.   0.   0. 
0.   0.   0.   0.   0.   0.   0. 
0.   0.   0.   0.   0.   0.   0. 
0.47450984 0.99607849 0.81176478 0.07058824 0.   0.   0. 
0.   0.   0.   0.   0.   0.   0. 
0.   0.   0.   0.   0.   0.   0. 
0.   0.   0.   0.   0.   0.   0. 
0.   0.   0.   0.   0.   0.   0. 
0.   0.   0.   0.   0.   0.   0. 
... 
... 
... 

내 예상 출력이 형식에 7 일 것입니다 :

[ 0. 0. 0. 0. 0. 0. 0. 1. 0. 0.] 

답변

2

음, 이미지 (mnist.train.images)는 784 = 28 x 28 차원 벡터입니다. 당신이 찾고있는 것은 참으로 차원 10있는 라벨 (mnist.test.labels)입니다 : 그런데

In [29]: mnist.test.labels[0] 
Out[29]: array([ 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.]) 

는, 이러한 배열은 그냥 평범한 NumPy와 배열입니다, 당신이 그들을 인쇄 할 TF 세션을 사용할 필요가 없습니다.

+0

아, 내가 얻을 : 귀하의 경우

tf.argmax(y, 1) 

이 당신에게 첫 번째 이미지에 대한 예측을 제공해야 그런데 어떻게 한 입력 (784 배열)에서 하나의 레이블을 계산할 수 있습니까? 라벨에 액세스하지 않고. 마찬가지로, 나는 한 자릿수를 썼고, 그것을 스캔하고 그것이 어떤 번호인지를 검출하려고한다고 말한다. –

+1

글쎄, 모델 (예 : 튜토리얼에 설명 된 모델)을 교육 한 다음 주어진 입력에서 출력을 계산합니다. 'print (sess.run (y, feed_dict = {x : mnist.test.images [10:20]}))' – sygi

+0

좋은데, 고마워. 'sess.run (y, feed_dict = {x : mnist.test.images [0 : 1]})' –

0

난 당신이 예측 찾고있는 생각, 느릅 나무는이 단계에서 y로 저장되었습니다

y = tf.matmul(x, W) + b 

그들은 확률이다 (소프트 맥스 감사는) 당신은 예측 답을 얻기 위해 최선을해야 :

tf.argmax(y[0],1) 
+0

수작업으로 번호가 새 것처럼 보이며 그 번호를 찾고 싶다면 어떻게해야합니까? –