I'm currently investigating the paper FCNN: Fourier Convolutional Neural Networks. The main contribution of the paper is that CNN training is entirely shifted to the Fourier domain without loss of effectiveness. The proposed architecture looks as follows:
The authors state that the implementation was done in keras, however, it is not publicly available. I know I can define a Fourier transformation in the following way:
model.add(layers.Lambda(lambda v: tf.real(tf.spectral.rfft(v))))
But this is not a Fourier Convolution, right? How should I go from here?