2011-11-15 37 views
8

Basit bir NN eğitimi için PyBrain'i kullanmaya çalışıyorum. Bilmediğim şey, eğitim verilerini bir dosyadan yüklemek. Web sitelerinde herhangi bir yerde açıklanmamıştır. Biçimi umursamıyorum çünkü şimdi oluşturabilirim, ancak satırlarca satır ekleyerek yerine bir dosyada yapmam gerekiyor, çünkü birkaç yüzlerce satır olacaktır. İştePyBrain'de antrenman verileri nasıl yüklenir?

+1

Birkaç yüz satır, çok küçük bir takımınız olduğu ve performans konusunda endişelenmemesi gerektiği anlamına gelir. Ama PyBrain, NumPy dizilerini kabul etmiyor mu? –

+0

Bilmiyorum, sadece kullanmaya başlıyorum, ama hiçbir yerde NumPy dizilerini NN:/ –

cevap

21

nasıl yaptığımı geçerli: sinir ağı 6 giriş ve 3 çıkış vardır Bu durumda

 
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) 

. Csv dosyasının her virgülle bir virgülle ayrılmış 9 değeri vardır. İlk 6 değer giriş değerleridir ve son üç çıktıdır.

+0

ile nasıl kullanacaklarını söylüyorlar, bu çok teşekkür ederim. Her nöronun ağırlık değerlerine nasıl erişebilirim biliyor musun? –

+1

Tek tek katmanlara şu şekilde erişebilirsiniz: giriş katmanı için n ['in'] ve çıkış için n ['çıkış'] ya da ilk gizli katman için n ['hidden0']. Bilmiyorum, ama sanırım katmanın düğümlerine bir şekilde erişebilirsiniz. dir (n ['in']) size – c0m4

+0

yapabilecekleriniz hakkında bir ipucu vermelidir. Bunu nasıl yapacağımı bulamıyorum. Yeni bir soru yapacağım. Yardımın için teşekkürler. –

1

sadece pandalar diziler bu şekilde

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

kullanmak ve gitmek iyidir.

İlgili konular