Closed nyatla closed 7 years ago
KelpJavaでの話ですが、Convolution2Dの最適化をしてみました。 パフォーマンス計測はしていませんが、ループ最深部のバイトコードが減ってるので多分早いと思います。
https://github.com/nyatla/KelpJava/blob/master/src/jp/nyatla/kelpjava/functions/connections/Convolution2D_O1.java
変更点は関数内だけで完結しているので、C#への移植は難しくありません。 可読性は悪くなるので、元のコードといつでも切り替えられるように実装するとよいと思います。
最適化のポイントは以下の通りです。
返信遅くなりまして申し訳ありません。
現在、本職が架橋に入っており中身の検証に少しお時間を頂きたいと思います。 ご対応、誠にありがとうございました。
KelpJavaでの話ですが、Convolution2Dの最適化をしてみました。 パフォーマンス計測はしていませんが、ループ最深部のバイトコードが減ってるので多分早いと思います。
https://github.com/nyatla/KelpJava/blob/master/src/jp/nyatla/kelpjava/functions/connections/Convolution2D_O1.java
変更点は関数内だけで完結しているので、C#への移植は難しくありません。 可読性は悪くなるので、元のコードといつでも切り替えられるように実装するとよいと思います。
最適化のポイントは以下の通りです。