pytorchのカスタムレイヤー。
方向ごとの畳み込みを計算
python setup.py build_ext -i
pytorchが正しくインストールされているならば、ビルドできるはずです。
縦横斜めのそれぞれの方向で畳み込み。
畳み込みの重みは、空間方向とチャネル方向で直線ごとに異なる値を利用。
遅すぎて、実用に耐えない。
処理が重みごとになっているので、分割の粒度が細かすぎて効率が悪いです。
また、データをスパースにしかアクセスしていないのでキャッシュ効率も悪いと思われます。 cudaのstreamを適切に設定することで、性能を改善できるかもしれませんが、ドキュメントにそのあたりの記述がないのでわかりません。