class_docstr: Causal convolution block, composed sequentially of two causal convolutions
  (with leaky ReLU activation functions), and a parallel residual connection.
  Takes as input a three-dimensional tensor (`B`, `C`, `L`) where `B` is the
  batch size, `C` is the number of input channels (= number of dimensions
  of the multivariate time series), and `L` is the length of
  the input. Outputs a three-dimensional tensor (`B`, `C`, `L`).
  Parameters
  ----------
  in_channels : Number of input channels.
  out_channels : Number of output channels.
  kernel_size : Kernel size of the applied non-residual convolutions.
  dilation : Dilation parameter of non-residual convolutions.
  final : Disables, if True, the last activation function.
code: def __init__(
      self,
      in_channels: int,
      out_channels: int,
      kernel_size: int,
      dilation: int,
      final: bool = False,
  ):
      super(CausalConvolutionBlock, self).__init__()
  
      # Computes left padding so that the applied convolutions are causal
      padding = (kernel_size - 1) * dilation
  
      # First causal convolution
      conv1 = CausalConvolution(
          in_channels,
          out_channels,
          kernel_size,
          dilation=dilation,
      )
  
      # Second causal convolution
      conv2 = CausalConvolution(
          out_channels,
          out_channels,
          kernel_size,
          dilation=dilation,
      )
  
      # Causal network
      self.causal = torch.nn.Sequential(conv1, conv2)
  
      # Residual connection
      self.upordownsample = (
          torch.nn.Conv1d(in_channels, out_channels, 1)
          if in_channels != out_channels
          else None
      )
  
      # Final activation function
      self.relu = torch.nn.LeakyReLU() if final else None
  
imports: import torch
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new CausalConvolutionBlock object from inherited base classes: torch.nn with example: obj = CausalConvolutionBlock(in_channels, out_channels, kernel_size, dilation, final)