I was able to pull that out. I may post later my solution if anybody is interested.
Best, Cha. On Monday, April 17, 2017 at 2:17:20 PM UTC-4, [email protected] wrote: > > 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.
