2017-01-29 13 views
0

私はTensorFlow MNIST for Expertsチュートリアルに従っていますが、訓練されたネットワークに新しいデータセットを予測させる方法はわかりません。TensorFlowで予測する専門家のためのMNIST

以下は私のコードです:私はTensorFlow MNIST for Experts tutorialのすべての行を持っていて、pandasを持つcsvファイルをdataframe testtとしてインポートしました。

y_conv=tf.nn.softmax(tf.matmul(h_fc1_drop, W_fc2) + b_fc2) 
feed_dict = {x: testt[0], keep_prob:1.0} 
classification = y_conv.eval(y, feed_dict) 
print(classification) 

私は助けてください、このエラー

AttributeError       Traceback (most recent call last) 
<ipython-input-36-96dfe9b26149> in <module>() 
     2 y_conv=tf.nn.softmax(tf.matmul(h_fc1_drop, W_fc2) + b_fc2) 
     3 feed_dict = {x: testt[0], keep_prob:1.0} 
----> 4 classification = y_conv.eval(y, feed_dict) 
     5 print(classification) 

C:\Program Files\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py in eval(self, feed_dict, session) 
    573 
    574  """ 
--> 575  return _eval_using_default_session(self, feed_dict, self.graph, session) 
    576 
    577 

C:\Program Files\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py in _eval_using_default_session(tensors, feed_dict, graph, session) 
    3627      "`eval(session=sess)`.") 
    3628 else: 
-> 3629  if session.graph is not graph: 
    3630  raise ValueError("Cannot use the given session to evaluate tensor: " 
    3631      "the tensor's graph is different from the session's " 

AttributeError: 'dict' object has no attribute 'graph' 

を取得します。私は訓練されたネットワークに正しく電話する方法がわかりません。あなたは自分のトレーニングループの後sess.run呼び出しで、yの出力を取得する必要があります

答えて

1

with tf.Session() as sess: 
    for i in range(1000): 
     batch = mnist.train.next_batch(100) 
     train_step.run(feed_dict={x: batch[0], y_: batch[1]}) 

    logits = sess.run(y, feed_dict={x: test_data}) 
    pred = tf.nn.softmax(logits) 
    print(pred) # or print(tf.argmax(pred, dimension=1)) for the index 
+0

が、これは本当に便利です、ありがとうございます。 – Shadowninjazx

+0

問題なく、このようなグラフの任意の値を取得できます。重量、損失など – Nitro

関連する問題