2016-11-24 8 views
0

サンプルMNIST handwritten numbers tutorialを実行しています。テンソルフローに1つの入力を適用して出力を取得

どのように私は期待出力を得るうまくいけば最初のテスト 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) 

これはあなたの最初の画像の予測を与える必要があります1つの入力(784配列)から1つのラベルをどのように計算できますか?ラベルにアクセスすることなく。同様に、私は数字を書いて、それをスキャンし、それがどれであるかを検出したいとします。 –

+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

手書き番号の新鮮なイメージを持ち、それが何番目の番号であるかを検出したいと思ったら私はどうしますか? –

関連する問題