我正在嘗試使用PyBrain進行一些簡單的NN培訓。我不知道該怎麼做的是從文件中加載訓練數據。這不在他們的網站任何地方解釋。我不關心格式,因爲我現在可以構建它,但我需要在文件中完成,而不是手動逐行添加,因爲我將有幾百行。如何在PyBrain中加載訓練數據?
回答
這是我如何做到了:
ds = SupervisedDataSet(6,3) tf = open('mycsvfile.csv','r') for line in tf.readlines(): data = [float(x) for x in line.strip().split(',') if x != ''] indata = tuple(data[:6]) outdata = tuple(data[6:]) ds.addSample(indata,outdata) n = buildNetwork(ds.indim,8,8,ds.outdim,recurrent=True) t = BackpropTrainer(n,learningrate=0.01,momentum=0.5,verbose=True) t.trainOnDataset(ds,1000) t.testOnData(verbose=True)
在這種情況下,神經網絡具有6個輸入和3個輸出。 csv文件在每行上有9個值,用逗號分隔。前6個值是輸入值,後3個是輸出值。
這非常好,非常感謝。你知道我如何獲得每個神經元的體重值? –
您可以像這樣訪問各個圖層:n ['in']用於輸入圖層,n ['out']用於輸出或n ['hidden0']用於第一個隱藏圖層。我不知道,但我想你可以用索姆的方式訪問圖層的節點。 dir(n ['in'])應該給你一個你可以做什麼的暗示 – c0m4
我找不到如何去做。我會提出一個新問題。感謝您的幫助。 –
你只需要使用熊貓陣列這樣
import pandas as pd
ds = SupervisedDataSet(6,3)
dataset = pd.read_csv('mycsvfile.csv','r', delimiter=',',skiprows=1)
ds.setfield('input' dataset.values[:,0:6])
ds.setfield('target', dataset.values[:,-2:-1])
,你是好去。
- 1. 如何在PyBrain中進行有監督的深度訓練?
- 2. PyBrain:MemoryError:加載訓練數據集
- 3. Tensorflow加載數據在訓練過程中隨機放慢
- 4. 加載訓練SVM - Emgu CV
- 5. 訓練數據集
- 6. Tesseract訓練數據
- 7. 加載訓練有素的Keras模型並繼續訓練
- 8. 輸出與pybrain訓練來近似函數
- 9. 加載過程中訓練步驟
- 10. 如何在Tensorflow中加載預訓練的LSTM模型權重
- 11. PyBrain AssertionError當爲教練設置數據
- 12. PyBrain:在訓練期間獲取特定於層的錯誤
- 13. 如何將語音訓練數據添加到張量流中
- 14. 添加數據,重新訓練盜網
- 15. 如何在MATLAB中訓練數據以便在ANFIS中使用?
- 16. 生成keras訓練數據
- 17. FANN訓練數據集
- 18. 如何計算或監測pybrain中的神經網絡的訓練?
- 19. Python/Pybrain:如何在訓練期間修正神經網絡的權重?
- 20. 如何在Azure中訓練數據(如谷歌預測API)
- 21. PyBrain:使用numpy.loadtxt加載數據?
- 22. 如何在scikit中訓練svm從存在於csv文件中的訓練數據中學習
- 23. 如何在gensim中加載預先訓練好的模型並使用它訓練doc2vec?
- 24. 如何在我們訓練cnn模型時加載ImageNet?
- 25. 無法加載預訓練模式
- 26. 如何在使用Caffe訓練時獲得訓練錯誤?
- 27. Pybrain神經網絡未能正確訓練
- 28. Pybrain前饋神經網絡訓練錯誤完全卡住
- 29. 訓練期間pybrain的總誤差平均值是多少?
- 30. word2vec:加權如何提供負面訓練數據?
幾百行意味着你有一個非常小的集合,不應該關心性能。但是PyBrain不接受NumPy數組嗎? –
我不知道,我剛剛開始使用它,但他們並沒有說如何使用NumPy陣列與他們的NN:/ –