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 でネットワークをトレーニングした後、ネットワークの結果を出力していました。
私は以前に再帰型ネットワークを使用したことがあり、問題はありませんでした (同じデータセットでも)。GA(または私が知らない他のこと)がネットワークに対して何をしたかについては詳しく調べていませんが、net.activate()を含むループに入る前にオフセットを0に設定しても修正されました。適切なアクティベーション (ループ中ではなく、ループの前に必ず 0 に設定してください)。
たぶん、これは、まだ関与していると思われる別のデータでトレーニングしたために発生したのでしょうか?
幸運を!