class_docstr: Causal CNN, composed of a sequence of causal convolution blocks.
  Takes as input a three-dimensional tensor (`B`, `C`, `L`) where `B` is the
  batch size, `C` is the number of input channels, and `L` is the length of
  the input. Outputs a three-dimensional tensor (`B`, `C_out`, `L`).
  Parameters
  ----------
  in_channels : Number of input channels.
  channels : Number of channels processed inside the network and of output
         channels.
  depth : Depth of the network.
  out_channels : Number of output channels.
  kernel_size : Kernel size of the applied non-residual convolutions.
code: def forward(self, x: torch.Tensor) -> torch.Tensor:
      return self.network(x)
  
imports: import torch
  import torch.nn.functional
label_desc: Use image node_id 2 for calling the CausalCNN obj's underlying member method code with example usage: obj.forward(x) and returns: self