我用pybrain来训练一个简单的神经网络,其中的输入是一个7x5矩阵。你知道吗
以下是输入:
A = [[0, 0, 1, 0, 0],
[0, 1, 1, 0, 0],
[0, 1, 0, 1, 0],
[0, 1, 0, 1, 0],
[1, 1, 1, 1, 1],
[1, 0, 0, 0, 1],
[1, 0, 0, 0, 1]]
E = [[1, 1, 1, 1, 1],
[1, 0, 0, 0, 0],
[1, 0, 0, 0, 0],
[1, 1, 1, 1, 0],
[1, 0, 0, 0, 0],
[1, 0, 0, 0, 0],
[1, 1, 1, 1, 1]]
I = [[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0]]
O = [[1, 1, 1, 1, 0],
[1, 0, 0, 0, 1],
[1, 0, 0, 0, 1],
[1, 0, 0, 0, 1],
[1, 0, 0, 0, 1],
[1, 0, 0, 0, 1],
[1, 1, 1, 1, 0]]
U = [[1, 0, 0, 0, 1],
[1, 0, 0, 0, 1],
[1, 0, 0, 0, 1],
[1, 0, 0, 0, 1],
[1, 0, 0, 0, 1],
[0, 1, 0, 0, 1],
[0, 0, 1, 1, 0]]
我想写一些像:
ds = SupervisedDataSet(1, 1)
ds.addSample((A), ("A",))
可能有用,但我得到:
ValueError: cannot copy sequence with size 7 to array axis with dimension 1
有什么办法我可以把这些数据集给pyBrain吗?你知道吗
首先,您必须知道SupervisedDataSet与list一起工作,因此需要将2D数组转换为list。你可以这样做:
然后需要将新列表提供给方法SupervisedDataSet。 另外,如果你想用这些信息来建立网络,你应该用一些数字来识别字母,比如A=1,E=2,I=3,O=4,U=5。为此,SupervisedDataSet的第二个参数应该是1。这样你就可以说“对于一个包含35个元素的列表,使用这些数字来标识一个数字”。你知道吗
最后,您的代码应该如下所示:
希望这能有所帮助。你知道吗
相关问题 更多 >
编程相关推荐