harujoh / KelpNet

Pure C# machine learning framework
Apache License 2.0
243 stars 28 forks source link

Forward関数内の配列を省略できます。 #11

Closed nyatla closed 7 years ago

nyatla commented 7 years ago

配列を使わずに同一な処理ができそうなので修正しました。 前回のバージョンでは同じような処理になっていたので、巻き戻しのミスかもしれません。

harujoh commented 7 years ago

こちらですが、NeedPrevious系が各々の内部でコピーを持たない仕様にしたため、ここで実質的な実体を持つ形になっています。 ヒープ領域での保持になるため、NeedPrevious系で保存されなかった値はガベージコレクタに片付けてもらえる効果を狙って、このような作りにしました。

なので、ここで配列保持を止めてしまうと、恐らくRNN系の処理が破綻すると思うのですが、もしかしてそれは私の思い込みで問題ありませんでしたか?

nyatla commented 7 years ago

すみません。早とちりでした。 Forwardが読み取り専用でオブジェクトを使用していると勘違いしていました。 もう少し依存関係を勉強してきます。