Hi,
I want to perform a convolution operation using fft. My filter and image
are same size i.e (nb_channel, nb_row, nb_col). Numpy version of what I
would like to do is below.
def conv2dfft_op(input, filter):
'''
Parameters
----------
input: symbolic 3D tensor of shape
(stack size, nb row, nb col)
filter: symbolic 3D tensor of shape
(stack size, nb row, nb col)
'''
# initialize the accumulator
conv_out = np.zeros(input.shape[1:]).astype('float32')
# go over each channel and perform 2d convolution
for in_channel,f_channel in zip(input,filter):
# accumulate the result
conv_out +=
np.fft.irfft2(np.fft.rfft2(in_channel)*np.fft.rfft2(f_channel))
return conv_out
I would appreciate if anyone can help me to write an efficient Theano
version.
Best,
Cha.
--
---
You received this message because you are subscribed to the Google Groups
"theano-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.