2016-12-13 112 views
0

我正在使用Tensorflow,訓練了一個寬廣的'深度網絡,並且想要預測一些值。我用了一個淨像Tensorflow iris prediction example,但是從張量流預測的順序

new_samples = np.array([[6.4, 3.2, 4.5, 1.5], [5.8, 3.1, 5.0, 1.7]], dtype=float) 
y = list(classifier.predict(new_samples, as_iterable=True)) 

改變了預測部分,在我自己的輸入功能來讀取我的測試文件數據的可能性:

y = list(classifier.predict(input_fn=lambda: input_fn(test_file_name, batch_size, batch_number))) 

一些測試,我發現後預測順序不是文件的數據順序。我如何強制Tensorflow在正確的修正中輸出預測結果?作爲另一種選擇,我怎樣才能打印出具有特徵(和線條標籤)的預測?

感謝您的支持。

回答

0

8個月後要回答這個,但是在這種情況下,任何人絆倒,並且具有相同question-我懷疑,問題是,你使用像

def get_input_fn(data_set, num_epochs=None, shuffle=True): 
    return tf.estimator.inputs.pandas_input_fn(
    x=pd.DataFrame(data_set[FEATURES]), 
    y=pd.Series(data_set[LABELS]), 
    num_epochs=num_epochs, 
    shuffle=shuffle, num_threads=1) 

輸入功能,這很好,但是當你運行predict()你需要設置shuffle = False(否則它會混洗你的輸出!)