torchaudio.functional.convolve(x: Tensor, y: Tensor, mode: str = 'full') Tensor[source]

Convolves inputs along their last dimension using the direct method. Note that, in contrast to torch.nn.functional.conv1d(), which actually applies the valid cross-correlation operator, this function applies the true convolution operator.

This feature supports the following devices: CPU, CUDA This API supports the following properties: Autograd, TorchScript
  • 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).

  • mode (str, optional) –

    Must be one of (“full”, “valid”, “same”).

    • ”full”: Returns the full convolution result, with shape (…, N + M - 1). (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).


Result of convolving x and y, with shape (…, L), where the leading dimensions match those of x and L is dictated by mode.

Return type:



Access comprehensive developer documentation for PyTorch

View Docs


Get in-depth tutorials for beginners and advanced developers

View Tutorials


Find development resources and get your questions answered

View Resources