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
xandy, with shape (…, L), where the leading dimensions match those ofxand L is dictated bymode.- Return type: