2016-12-16 44 views
0

我已經採用了在Iris csv上訓練並試圖使用我自己的csv的預製代碼。將.csv加載到張量流中時出錯

的錯誤發生在這裏

train_data = "train_data.csv" 
test_data = "test_data.csv" 

training_set = tf.contrib.learn.datasets.base.load_csv_with_header(
filename=train_data, 
target_dtype=np.int, 
features_dtype=np.float32) 

與錯誤

ValueError: invalid literal for int() with base 10: 'feature1' 

的CSV看起來像這樣

feature1,feature2,feature3,label 
1028.0,1012.0,1014.0,1 
1029.0,1011.0,1017.0,-1 
1027.0,1013.0,1015.0,1 
...(and so on) 

我得到的錯誤是試圖說優點1是不是一個整數。但是,當我爲Iris數據集使用相同的代碼時,有不用作張量的字符串標題。虹膜數據csv看起來像這樣。

30,4,setosa,versicolor,virginica 
5.9,3.0,4.2,1.5,1 
6.9,3.1,5.4,2.1,2 
5.1,3.3,1.7,0.5,0 

而且,不知道我是否應該做這一個不同的問題,但我改變了功能頭來

1,2,3,4 
1028.0,1012.0,1014.0,1 
1029.0,1011.0,1017.0,-1 
1027.0,1013.0,1015.0,1 
...(and so on) 

,我現在收到此錯誤

ValueError: could not broadcast input array from shape (3) into shape (2) 

任何意見或非常感謝幫助!謝謝!!!

回答

2

如果您要使用此功能,則必須以預期的格式編寫數據集。的第一行應是這樣的:

n_samples, n_features, [feature names] 

例如,一個用於虹膜數據集你是顯示具有正確的格式:

30,4,setosa,versicolor,virginica 

即30個樣品4個特徵

如果有數據集中的50個樣本創建它應該是這樣的:

50,4,labelname 
1028.0,1012.0,1014.0,1 
1029.0,1011.0,1017.0,-1 
1027.0,1013.0,1015.0,1 
...(and so on) 
+0

的偉大工程,謝謝! –

+0

我的上帝我到處尋找解釋錯誤「無法廣播輸入數組從形狀x到x」,這就是它!我試圖使用我自己的csv文件沒有標題 –

+0

非常感謝btw!這真的讓我很頭疼! –