from pybrain.structure import FeedForwardNetwork
from pybrain.structure import LinearLayer, SigmoidLayer
from pybrain.structure import FullConnection
from pybrain.datasets import SupervisedDataSet
import numpy as np
X = np.loadtxt('xdatanorm.txt', dtype=float)
y = np.loadtxt('ydatanorm.txt', dtype=float)
n = FeedForwardNetwork()
inLayer = LinearLayer(35)
hiddenLayer = SigmoidLayer(18)
outLayer = LinearLayer(1)
n.addInputModule(inLayer)
n.addModule(hiddenLayer)
n.addOutputModule(outLayer)
in_to_hidden = FullConnection(inLayer, hiddenLayer)
hidden_to_out = FullConnection(hiddenLayer, outLayer)
n.addConnection(in_to_hidden)
n.addConnection(hidden_to_out)
n.sortModules()
DS = SupervisedDataSet(35,1)
DS.addSample(X,y)
开始用pybrain来建立一个神经网络来处理我的扩散能量数据。我不知道如何从我的X和y值得到一个数据集。X是35个输入,y是1个输出,有148个样本。使用此代码,我得到错误:“ValueError:无法将输入数组从形状(148,35)广播到形状(35)”
需要知道如何正确地为pybrain准备数据集。在
我相信.addSample()方法一次只需要一个样本。不要使用.addSample(),请尝试
建议使用“assert()”,因为.setField()方法不像.addSample()那样验证数组维度。在
有关详细信息,请参见Pybrain dataset tutorial。在
相关问题 更多 >
编程相关推荐