2013-05-27 3 views
2

Я работаю с пакетом «pybrain» и пытается создать нейронную сеть, которая распознает изображения. Часть анализа фотографии работает очень хорошо, но, как новичок в pybrain - я не привык работать с ней. Каким-то образом я получаю следующее сообщение об ошибке:AttributeError: объект «NoneType» не имеет атрибута «indim»

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

Я попытался решить эту проблему, как в день или около того, и до сих пор не получает его. вот часть моего кода:

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) 

Предположим, что вход является 2-мерным, контактирующим с каждой ячейкой 72 ячейки.

Edit: В соответствии с просьбой, вся ошибка:

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) 

Большое спасибо за ответ, я нашел проблема - правильная функция, которая должна была использоваться, - buildNetwork вместо buildNewNetwork.

+0

В вашем коде отсутствует 'indim'. Укажите трассировку стека. Это значительно облегчает объяснение проблемы. –

ответ

0

Кажется, что набор данных должен быть отправлен как keyword argument. Попробуйте,

trainer = BackpropTrainer(net, dataset=ds) 
+0

Спасибо, Но нет, это не проблема, это не исправить. – user2129468

Смежные вопросы