3

パッケージ「pybrain」を使用して、画像を認識するニューラル ネットワークを構築しようとしています。写真を分析する部分は非常にうまく機能していますが、pybrain の初心者として、私はそれを使用することに慣れていません。どういうわけか、次のエラーが発生し続けます。

AttributeError: 'NoneType' object has no attribute 'indim'

私はこの問題を1日ほど解決しようとしましたが、まだ解決していません。ここに私のコードの一部があります:

target=np.array([[0],[1]])
input=getNumberOfImages("photosAfterAverage/",1,2)
ds=SupervisedDataSet(72,1)
ds.setField('target',target)
ds.setField('input',input)
print ds.data
net=buildNewNetwork(72,76,1)
trainer = BackpropTrainer(net, ds)

入力が各セル 72 個のセルを含む 2 次元であると仮定します。

編集:要求どおり、エラー全体:

Traceback (most recent call last):
      File "C:\Users\Eytan\Desktop\Mah\Kids_Painting\pyBrainDiffrenceBetween5GradeAnd2Grade.py", line 53, in <module>
        trainer = BackpropTrainer(net, ds)
      File "C:\Python27\pybrain\supervised\trainers\backprop.py", line 35, in __init__
        self.setData(dataset)
      File "C:\Python27\pybrain\supervised\trainers\trainer.py", line 22, in setData
        assert dataset.indim == self.module.indim
    AttributeError: 'NoneType' object has no attribute 'indim'

次のコードが機能していることを指摘しておくと役立つ場合があります。

net=buildNetwork(2,500,1)
ds=SupervisedDataSet(2,1)
input=array([[0,1],[1,3434],[34,65],[40,56]])
target=array([[0],[1],[0],[1]])
ds.setField('input',input)
ds.setField('target',target)
print ds.data
trainer = BackpropTrainer(net, ds)

答えてくれてありがとう、私は問題を見つけました-使用されるべきであった正しい機能はbuildNewNetworkの代わりにbuildNetworkです。

4

1 に答える 1

0

データセットをキーワード引数として送信する必要があるようです。試す、

trainer = BackpropTrainer(net, dataset=ds)
于 2013-05-27T07:00:54.293 に答える