self.offset - это проблема для меня:
(49)activate()
-> self.inputbuffer[self.offset] = inpt
(Pdb) p self
<RecurrentNetwork 'RecurrentNetwork-13'>
(Pdb) p self.inputbuffer
array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])
(Pdb) p inpt
array([ 0.36663106, 0.10664821, -0.09483858, 0.24661628, -0.33891044,
-0.16277863, -0.46995505, 0.43191341, 0.46647206, -0.14306874])
(Pdb) p self.offset
3825
(Pdb)
Изменить: ИСПРАВЛЕНО
net.offset = 0 # wtf pybrain
for inp, target in testDS:
netOut.extend(net.activate(inp))
Контекст: я распечатывал результаты сети после того, как обучил ее встроенному ГА pybrain.
Раньше я использовал повторяющиеся сети, и у меня не было проблем (даже тот же набор данных), поэтому мне было любопытно, что пошло не так. Я не вникал в то, что GA (или что-то другое, о чем я не знаю) сделал с сетью, но независимо от установки смещения на 0 перед входом в цикл, который включает net.activate(), исправил это, и теперь я получаю правильные активации (убедитесь, что вы установили его на 0 перед циклом, а не во время).
Может быть, это произошло из-за того, что я обучал его на отдельных данных, которые, по его мнению, были задействованы?
Удачи!
person
relh
schedule
11.08.2014