2017-02-14 2 views
0

私はPython、Machine LearningとTensorFlowを初めて使い、非常に圧倒されています!TensorFlow、Implementing Solution

私はまだMNISTデータセットに取り組んでおり(私はTensorFlowチュートリアルから従ってきた)次のコードを持っている:

from tensorflow.examples.tutorials.mnist import input_data 
mnist = input_data.read_data_sets('MNIST_data',one_hot=True) 

import tensorflow as tf 
sess = tf.InteractiveSession() 

x = tf.placeholder(tf.float32, shape = [None,784]) 
y_ = tf.placeholder(tf.float32, shape = [None,10]) 

W = tf.Variable(tf.zeros([784,10])) 
b = tf.Variable(tf.zeros([10])) 

sess.run(tf.global_variables_initializer()) 

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

cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(y,y_)) 

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy) 

for i in range(10): 
    batch = mnist.train.next_batch(100) 
    train_step.run(feed_dict={x: batch[0], y_: batch[1]}) 

    correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1)) 
    accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) 
    print(accuracy.eval(feed_dict={x: mnist.test.images, y_:mnist.test.labels})) 

私の質問は、私は解決策を抽出しないか、ここから、あります使用可能なアプリケーションを作成するには?つまり、私はどのようにして1つのイメージを送り、MNISTデータセットのトレーニングに基づいて数字を1つの予測にすることができる段階に到達するのですか?それはこのように動作するはずです、あなたのコードで

感謝

+0

私はPython 3.5をWindows 10で実行していて、TensorFlowバージョン0.12を持っています。 – jlt199

答えて

0

test_prediction = y.eval(feed_dict={x: mnist.test.images})

あなたは、「自分自身の画像を」持っているしたい場合、あなたは彼らが同じフォーマットであることを確認してくださいする必要がありますあなたのmnist.test.images変数。この場合、上のコードのmnist.test.imagesを、長さ787(28ピクセル×28ピクセル)の配列で埋められたNumpy配列で置き換えることができます。 これが動作すれば教えてください!

+0

あなたの返信をありがとう。私は 'test_prediction = y.eval(feed_dict = {x:mnist.validation.images}) print(tf.argmax(test_prediction、1).eval())'というコードに次のコードを追加しました。予想値のリスト:)しかし、私はまだInteractiveSessionにいます。 TensorFlowの外で作業するようにソリューションをエクスポートできますか? – jlt199

+0

素晴らしい作品です! 「Tensorflowの外で働く」とはどういう意味ですか? Tensorflow操作を使用しているときは、このソリューションをどこかに配備する場合には、必ずそれらを使用する必要があります)。このプログラムをどこか他の場所で使用する方法について特定の質問がある場合は、新しい質問を投稿できます。 – rmeertens

+0

うーん、私は何を意味しているのかを説明しようとしていますし、うまくいけば新しい質問をする必要があるかどうか私に知らせることができます。テンソルフローのインタラクティブセッションの外で実行される自己完結型のソリューションが必要です。たとえば、新しいクエリを送信して予測を返す関数などがあります。私は分析する新しいイメージがあるたびにネットワークを再トレーニングする必要はありません。 – jlt199