FFTConvolve¶
- class torchaudio.transforms.FFTConvolve(mode: str = 'full')[source]¶
Convolves inputs along their last dimension using FFT. For inputs with large last dimensions, this module is generally much faster than
Convolve
. Note that, in contrast totorch.nn.Conv1d
, which actually applies the valid cross-correlation operator, this module applies the true convolution operator. Also note that this module can only output float tensors (int tensor inputs will be cast to float).- Parameters:
mode (str, optional) –
Must be one of (“full”, “valid”, “same”).
”full”: Returns the full convolution result, with shape (…, N + M - 1), where N and M are the trailing dimensions of the two inputs. (Default)
”valid”: Returns the segment of the full convolution result corresponding to where the two inputs overlap completely, with shape (…, max(N, M) - min(N, M) + 1).
”same”: Returns the center segment of the full convolution result, with shape (…, N).
- forward(x: Tensor, y: Tensor) Tensor [source]¶
- Parameters:
x (torch.Tensor) – First convolution operand, with shape (…, N).
y (torch.Tensor) – Second convolution operand, with shape (…, M) (leading dimensions must be broadcast-able with those of
x
).
- Returns:
Result of convolving
x
andy
, with shape (…, L), where the leading dimensions match those ofx
and L is dictated bymode
.- Return type: