class_docstr: Same as `torch.nn.Conv1d` but based on `fft_conv1d`.
  Please check PyTorch documentation for more information.
  
  Args:
      in_channels (int): number of input channels.
      out_channels (int): number of output channels.
      kernel_size (int): kernel size of convolution.
      stride (int): stride of convolution.
      padding (int): padding to apply to the input.
      bias (bool): if True, use a bias term.
  
  ..note::
      This module is faster than `torch.nn.Conv1d` only in specific cases.
      Typically, `kernel_size` should be of the order of 256 to see any real gain,
      for a stride of 1.
  
  ..warning::
      Dilation and groups are not supported at the moment. This module might use
      more memory than the default Conv1d implementation.
  
  >>> fftconv = FFTConv1d(12, 24, 128, 4)
  >>> x = torch.randn(4, 12, 1024)
  >>> print(list(fftconv(x).shape))
  [4, 24, 225]
class_docstr_tok: ["Same","as","`","torch.nn.Conv1d","`","but","based","on","`","fft_conv1d","`",".","Please","check","PyTorch","documentation","for","more","information",".","Args",":","in_channels","(","int",")",":","number","of","input","channels",".","out_channels","(","int",")",":","number","of","output","channels",".","kernel_size","(","int",")",":","kernel","size","of","convolution",".","stride","(","int",")",":","stride","of","convolution",".","padding","(","int",")",":","padding","to","apply","to","the","input",".","bias","(","bool",")",":","if","True",",","use","a","bias","term",".","..","note",":",":","This","module","is","faster","than","`","torch.nn.Conv1d","`","only","in","specific","cases",".","Typically",",","`","kernel_size","`","should","be","of","the","order","of","256","to","see","any","real","gain",",","for","a","stride","of","1",".","..","warning",":",":","Dilation","and","groups","are","not","supported","at","the","moment",".","This","module","might","use","more","memory","than","the","default","Conv1d","implementation",".",">",">",">","fftconv","=","FFTConv1d","(","12",",","24",",","128",",","4",")",">",">",">","x","=","torch.randn","(","4",",","12",",","1024",")",">",">",">","print","(","list","(","fftconv","(","x",")",".shape",")",")","[","4",",","24",",","225","]"]
code: def forward(self, input: torch.Tensor):
      return fft_conv1d(
          input, self.weight, self.bias, self.stride, self.padding
      )
  
file_path: julius/julius/fftconv.py
imports: from typing import Optional
  import torch
  from torch.nn import functional
  from .core import pad_to, unfold
  from .utils import simple_repr
label_desc: Use image node_id 2 for calling the FFTConv1d obj's underlying member method code with example usage: obj.forward(input) and returns: fft_conv1d