2017-05-06 16 views
0

本質上,我試圖爲NN創建批處理,但我一直在努力。這是我最初的嘗試:如何在兩個numpy數組中使用相同索引取50個樣本[批處理]

for i in range(300): 
    batch_index = random.sample(range(0,100),50) 
    if i % 5 == 0: 
     [train_accuracy, s] = sess.run([accuracy, summ], feed_dict={x: train[batch_index], y: labels_final[batch_index]}) 
     writer.add_summary(s, i) 
     print ("train accuracy:", train_accuracy) 
    sess.run(train_step, feed_dict={x: train[batch_index], y: labels_final[batch_index]}) 

我得到以下錯誤:

TypeError: list indices must be integers, not list 

編輯:train不是numpy的陣列。使它成爲一個numpy數組使代碼正常工作。

+0

這個問題與'batch-file'標籤沒有關係。我建議你消除它... – Aacini

+1

'train'和'labels_final'的類型是什麼? – JohanL

+0

啊那個伎倆,@JohanL。 'train'不是一個數組,所以它給了我那個錯誤。我會編輯我的帖子,隨時提交回復,以便我可以接受 – madsthaks

回答

1

A list不能用作另一個list的索引,但它可以用作np.array的索引。確保trainlabels_final定義爲np.array:s。

0

你的問題是,random.sample返回一個列表。您無法通過列表爲列表train編制索引。您必須以整數爲索引。

相關問題