harujoh / KelpNet

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

Convolution2Dクラスの最適化について #19

Closed nyatla closed 7 years ago

nyatla commented 7 years ago

KelpJavaでの話ですが、Convolution2Dの最適化をしてみました。 パフォーマンス計測はしていませんが、ループ最深部のバイトコードが減ってるので多分早いと思います。

https://github.com/nyatla/KelpJava/blob/master/src/jp/nyatla/kelpjava/functions/connections/Convolution2D_O1.java

変更点は関数内だけで完結しているので、C#への移植は難しくありません。 可読性は悪くなるので、元のコードといつでも切り替えられるように実装するとよいと思います。

最適化のポイントは以下の通りです。

harujoh commented 7 years ago

返信遅くなりまして申し訳ありません。

現在、本職が架橋に入っており中身の検証に少しお時間を頂きたいと思います。 ご対応、誠にありがとうございました。