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.

Reply via email to