class_docstr: Causal Convolution 1d
  
  Receives `x` input of dim [N,C_in,T], and computes a causal convolution
  in the time dimension. Skipping the H steps of the forecast horizon, through
  its dilation.
  Consider a batch of one element, the dilated convolution operation on the
  $t$ time step is defined:
  
  $\mathrm{Conv1D}(\mathbf{x},\mathbf{w})(t) = (\mathbf{x}_{[*d]} \mathbf{w})(t) = \sum^{K}_{k=1} w_{k} \mathbf{x}_{t-dk}$
  
  where $d$ is the dilation factor, $K$ is the kernel size, $t-dk$ is the index of
  the considered past observation. The dilation effectively applies a filter with skip
  connections. If $d=1$ one recovers a normal convolution.
  
  **Parameters:**<br>
  `in_channels`: int, dimension of `x` input's initial channels.<br>
  `out_channels`: int, dimension of `x` outputs's channels.<br>
  `activation`: str, identifying activations from PyTorch activations.
      select from 'ReLU','Softplus','Tanh','SELU', 'LeakyReLU','PReLU','Sigmoid'.<br>
  `padding`: int, number of zero padding used to the left.<br>
  `kernel_size`: int, convolution's kernel size.<br>
  `dilation`: int, dilation skip connections.<br>
  
  **Returns:**<br>
  `x`: tensor, torch tensor of dim [N,C_out,T] activation(conv1d(inputs, kernel) + bias). <br>
class_docstr_tok: ["Causal","Convolution","1d","Receives","`","x","`","input","of","dim","[","N",",","C_in",",","T","]",",","and","computes","a","causal","convolution","in","the","time","dimension",".","Skipping","the","H","steps","of","the","forecast","horizon",",","through","its","dilation",".","Consider","a","batch","of","one","element",",","the","dilated","convolution","operation","on","the","$","t","$","time","step","is","defined",":","$","\\mathrm","{","Conv1D","}","(","\\mathbf","{","x","}",",","\\mathbf","{","w","}",")","(","t",")","=","(","\\mathbf","{","x","}","_","{","[","*","d","]","}","\\mathbf","{","w","}",")","(","t",")","=","\\sum^","{","K","}","_","{","k=1","}","w_","{","k","}","\\mathbf","{","x","}","_","{","t-dk","}","$","where","$","d","$","is","the","dilation","factor",",","$","K","$","is","the","kernel","size",",","$","t-dk","$","is","the","index","of","the","considered","past","observation",".","The","dilation","effectively","applies","a","filter","with","skip","connections",".","If","$","d=1","$","one","recovers","a","normal","convolution",".","*","*","Parameters",":","*","*","<","br",">","`","in_channels","`",":","int",",","dimension","of","`","x","`","input","'s","initial","channels.","<","br",">","`","out_channels","`",":","int",",","dimension","of","`","x","`","outputs","'s","channels.","<","br",">","`","activation","`",":","str",",","identifying","activations","from","PyTorch","activations",".","select","from","'ReLU","'",",","'Softplus","'",",","'Tanh","'",",","'SELU","'",",","'LeakyReLU","'",",","'PReLU","'",",","'Sigmoid'.","<","br",">","`","padding","`",":","int",",","number","of","zero","padding","used","to","the","left.","<","br",">","`","kernel_size","`",":","int",",","convolution","'s","kernel","size.","<","br",">","`","dilation","`",":","int",",","dilation","skip","connections.","<","br",">","*","*","Returns",":","*","*","<","br",">","`","x","`",":","tensor",",","torch","tensor","of","dim","[","N",",","C_out",",","T","]","activation","(","conv1d","(","inputs",",","kernel",")","+","bias",")",".","<","br",">"]
code: def forward(self, x):
      return self.causalconv(x)
  
imports: import math
  import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 2 for calling the CausalConv1d obj's underlying member method code with example usage: obj.forward(x) and returns: self