2017-09-21 30 views
0

在張量流中,我想在每個時期用相同的測試數據集評估模型。我做了什麼:在張量流中,如何在沒有實際訓練的情況下評估一個神經網絡

# Train data. 
    cTr,train_summary,_ = sess.run([loss,summary_op,optimizer], feed_dict={input_tensor: batch_xTr,output_tensor:batch_yTr}) 
    # Test data. 
    batch_xTe,batch_yTe = get_batch(newsgroups_test,0,len(newsgroups_test.target)) # can also be adjusted batch size 
    cTe,test_summary, _ = sess.run([loss,summary_op, optimizer], feed_dict={input_tensor: batch_xTe,output_tensor:batch_yTe}) 

結果是該模型終於可以達到近100%的準確度。這是不合理的,原因可能是我在評估時實際上是「訓練」的。

有沒有辦法,我可以評估模型,而不用實際「訓練」它與測試數據?

+0

是的,有一些方法。 – prometeu

+0

閱讀本文(https://stackoverflow.com/tour),重點關注**獲取實用,詳細問題的答案**,然後更新您的問題。 – prometeu

+0

我已閱讀了旅程並更新了我的問題。感謝您的指導。 – huxuzi

回答

0

不要使用測試數據運行優化程序。試試這個

cTe = sess.run([loss], feed_dict={input_tensor: batch_xTe, output_tensor: batch_yTe}) 
+0

工作正常!我不太熟悉sess.run()api,這導致了我的困惑。 – huxuzi

+0

很高興解決了!請接受答案。 – prometeu