2017-05-24 34 views
1

我試圖找出爲什麼Session.run()給出會話圖形是空的錯誤。爲什麼Session.run()在這裏不起作用?不知怎的,我可以打印(預測)檢索結果。爲什麼tf.Session()。run()在這裏不起作用?

我不需要使用Session.run()來開始構建模型得到預測嗎?

def new_samples(): 
     #return np.array([[5.9,3,4.2,1.5],[6.9,3.1,5.4,2.1]], dtype=np.float32) 
     return np.array(test_data_values, dtype=np.float32) 

    predictions = list(classifier.predict_classes(input_fn=new_samples)) 

    default_session = tf.Session() 
    print(default_session.run(predictions)) 

注:分類= tf.contrib.learn.DNNClassifier

+0

您應該構建模型啓動會話之前。然後會話將通過您構建的模型(圖)運行張量以獲得您的平常輸出(如numpy數組),因此您不需要使用sess.run來構建模型。 – kwotsin

回答

2

DNNClassifierEstimator這是處理我喜歡你的會話事物的抽象。
爲更高級別的API(如EstimatorDNNClassifier)的動機正是這一點,所以你不必擔心。此外,它變得更加棘手,一旦你有更多的工人來管理會議,這是所有正在爲您處理:)

+0

基本上,在這裏這一行: 'predictions = list(classifier.predict_classes(input_fn = new_samples))'計算圖(類似於'tf.Session()。run()')並計算預測值? – Bosen

+0

這就是主意,是的 –

相關問題