2011-11-15 12 views
8

मैं कुछ सरल एनएन प्रशिक्षण के लिए पाइब्रेन का उपयोग करने की कोशिश कर रहा हूं। मुझे नहीं पता कि फ़ाइल से प्रशिक्षण डेटा लोड करना है। यह कहीं भी उनकी वेबसाइट में समझाया नहीं गया है। मुझे प्रारूप के बारे में परवाह नहीं है क्योंकि मैं इसे अभी बना सकता हूं, लेकिन मुझे मैन्युअल रूप से पंक्ति द्वारा पंक्ति जोड़ने की बजाय फ़ाइल में इसे करने की आवश्यकता है, क्योंकि मेरे पास कई सैकड़ों पंक्तियां होंगी।PyBrain में प्रशिक्षण डेटा कैसे लोड करें?

+1

कई सौ पंक्तियों का मतलब है कि आपके पास बहुत छोटा सेट है और प्रदर्शन के बारे में चिंतित नहीं होना चाहिए। लेकिन क्या PyBrain सिर्फ NumPy arrays स्वीकार नहीं करता है? –

+0

मुझे नहीं पता, मैं अभी इसका उपयोग शुरू कर रहा हूं, लेकिन कहीं भी वे कहते हैं कि एनएनपीई एरे का उपयोग उनके एनएन के साथ कैसे करें:/ –

उत्तर

21

यहाँ है कैसे मैंने किया:

 
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 है में। सीएसवी फ़ाइल में अल्पविराम से अलग प्रत्येक पंक्ति पर 9 मान होते हैं। पहले 6 मान इनपुट मान हैं और अंतिम तीन आउटपुट हैं।

+0

जो बहुत अच्छा है, आपको बहुत धन्यवाद। क्या आप जानते हैं कि मैं प्रत्येक न्यूरॉन के लिए वजन मूल्यों का उपयोग कैसे कर सकता हूं? –

+1

आप इस तरह की अलग-अलग परतों तक पहुंच सकते हैं: n ['in'] इनपुट परत के लिए और n ['out'] आउटपुट के लिए या n ['hidden0'] पहली छिपी हुई परत के लिए। मुझे नहीं पता, लेकिन मुझे लगता है कि आप परत के नोड्स को किसी तरह से एक्सेस कर सकते हैं। डीआईआर (एन ['इन']) आपको एक संकेत दे सकता है कि आप क्या कर सकते हैं – c0m4

+0

मुझे यह नहीं पता कि यह कैसे किया जाए। मैं एक नया सवाल करूंगा। आपके सहयोग के लिए धन्यवाद। –

1

तुम बस पांडा सरणियों इस तरह

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]) 

का उपयोग करें और आप जाने के लिए अच्छे हैं।

संबंधित मुद्दे