conv2d_fft#
- deepinv.physics.functional.conv2d_fft(x, filter, real_fft=True, padding='valid')[source]#
A helper function performing the 2d convolution of images
xandfilterusing FFT.The adjoint of this operation is
deepinv.physics.functional.conv_transpose2d_fft()Note
The convolution here is a convolution, not a correlation as in
torch.nn.functional.conv2d(). This function gives the same result asdeepinv.physics.functional.conv2d()and is faster for large kernels.- Parameters:
x (torch.Tensor) – Image of size
(B, C, W, H).filter (torch.Tensor) – Filter of size
(b, c, w, h)wherebcan be either1orBandccan be either1orC. Ifb = 1orc = 1, then this function supports broadcasting as the same as numpy. Otherwise, each channel of each image is convolved with the corresponding kernel.real_fft (bool) – for real filters and images choose
True(default) to accelerate computation.padding (str) – can be
'valid','circular','replicate','reflect','constant'or'zeros'. Ifpadding = 'valid'the output is smaller than the image (no padding), otherwise the output has the same size as the image. Note that'constant'and'zeros'are equivalent. Default is'valid'.
- Returns:
torch.Tensor: the output of the convolution of the shape size asx.- Return type: