RobinKa / tfga

Python package for Geometric / Clifford Algebra with TensorFlow
MIT License
48 stars 7 forks source link

Support Convolution with MV-valued kernels #8

Closed RobinKa closed 4 years ago

RobinKa commented 4 years ago

Can naively be implemented using matrix multiply and toeplitz matrix but is way too wasteful so it really should be implemented using a custom op (see https://github.com/tensorflow/custom-op).

Should support standard convolution and graph-convolution (useful eg. for operating on vertices / meshes).

// Edit Tried implementing this in two different ways using only built-in ops:

The only good solution seems to be writing a custom op with cuda kernel.

RobinKa commented 4 years ago

Related branch: https://github.com/RobinKa/tfga/tree/feature/mv-conv

Uses Winograd convolution and only TF ops, might be good enough without custom ops