class_docstr: 1D causal temporal convolution, where the term causal means that output[t]
  does not depend on input[t+1:]. Notice that Conv1D is not implemented in
  Gluon.
  
  This is the basic structure used in Wavenet [ODZ+16]_ and Temporal
  Convolution Network [BKK18]_.
  
  The output has the same shape as the input, while we always left-pad zeros.
  
  Parameters
  ----------
  
  channels
      The dimensionality of the output space, i.e. the number of output
      channels (filters) in the convolution.
  
  kernel_size
      Specifies the dimensions of the convolution window.
  
  dilation
      Specifies the dilation rate to use for dilated convolution.
  
  activation
      Activation function to use. See :func:`~mxnet.ndarray.Activation`.
      If you don't specify anything, no activation is applied
      (ie. "linear" activation: `a(x) = x`).
class_docstr_tok: ["1D","causal","temporal","convolution",",","where","the","term","causal","means","that","output","[","t","]","does","not","depend","on","input","[","t+1",":","]",".","Notice","that","Conv1D","is","not","implemented","in","Gluon",".","This","is","the","basic","structure","used","in","Wavenet","[","ODZ+16","]","_","and","Temporal","Convolution","Network","[","BKK18","]","_",".","The","output","has","the","same","shape","as","the","input",",","while","we","always","left-pad","zeros",".","Parameters","--","--","--","--","--","channels","The","dimensionality","of","the","output","space",",","i.e",".","the","number","of","output","channels","(","filters",")","in","the","convolution",".","kernel_size","Specifies","the","dimensions","of","the","convolution","window",".","dilation","Specifies","the","dilation","rate","to","use","for","dilated","convolution",".","activation","Activation","function","to","use",".","See",":","func",":","`","~mxnet.ndarray.Activation","`",".","If","you","do","n't","specify","anything",",","no","activation","is","applied","(","ie",".","``","linear","''","activation",":","`","a","(","x",")","=","x","`",")","."]
code: def __init__(
      self,
      channels: int,
      kernel_size: Union[int, Tuple[int], List[int]],
      dilation: Union[int, Tuple[int], List[int]] = 1,
      activation: Optional[str] = None,
      **kwargs,
  ):
      super().__init__(**kwargs)
  
      self.dilation = _get_int(dilation)
      self.kernel_size = _get_int(kernel_size)
      self.padding = self.dilation * (self.kernel_size - 1)
      self.conv1d = nn.Conv1D(
          channels=channels,
          kernel_size=self.kernel_size,
          dilation=self.dilation,
          padding=self.padding,
          activation=activation,
          **kwargs,
      )
  
file_path: gluonts/src/gluonts/mx/block/cnn.py
imports: from typing import List, Optional, Tuple, Union
  from mxnet import gluon
  from mxnet.gluon import nn
  from gluonts.mx import Tensor
label_desc: Use image node_id 1 to create a new CausalConv1D object from inherited base classes: gluon with example: obj = CausalConv1D(channels, kernel_size, dilation, activation)