PyBrain添加样本多维数组

2024-10-02 18:21:17 发布

您现在位置:Python中文网/ 问答频道 /正文

在所有示例中,addSample(input,target)似乎都与一维数组一起使用,例如:

INPUT = 5
OUTPUT = 1

input = [5, 5, 5, 5, 5]
target = [1]

ds = Sequentialdataset(5, 1)
#add data using addSample

当输入是多维的时,如何做到这一点:

^{pr2}$

如何将addSample用于此类结构?我试过了:

ds = SequentialDataSet(2, 1)
ds.addSample(input, target)

并得到错误消息:

Could not broadcast input array from shape (2, 5) into shape 2.

这意味着SequentialDataSet(2,1)不适用于此结构,但SequentialDataSet((2,5),1)也有错误。这应该很容易,但我找不到答案。在


Tags: add示例targetinputoutputdata错误ds
2条回答

根据下面链接的帖子,您只需输入一个数组:

Pybrain multi dimensional data input

对于SequentialDataSet,我使用了以下示例:

data = [(1,2), (1,3), (10,2), (2,0), (2,9), (4,3), (1,2), (10,5)]
ds = SequentialDataSet(2,2)
for sample, next_sample in zip(data, cycle(test_data[1:])):
   ds.addSample(sample, next_sample)

它看起来像是在训练某种前馈网络,也许是一个多层感知器?5层在,一个或多个隐藏层,和一个单一的输出层,但它不清楚,所以这是我的一个飞跃。在

不管怎样,输入层都应该是一个数组。如果您有一个结构或多维数组,则需要将其折叠并作为一组数据输入。因此,对于你的5x2建议,你只需在输入上有10个元素,你就要负责在输入到网络中时,对输入结构进行一致的“解析”。对于5x5结构,你有25个输入等

根据我的经验,ANNs的成功/挑战很大一部分是对数据进行结构化,从而使输入形式规范化并以网络可以从数学上找到模式的方式表示。在

相关问题 更多 >