class_docstr: Encoder of a time series using a causal CNN: the computed representation is
  the output of a fully connected layer applied to the output of an adaptive
  max pooling layer applied on top of the causal CNN, which reduces the
  length of the time series to a fixed size.
  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`).
  Parameters
  ----------
  in_channels : Number of input channels.
  channels : Number of channels manipulated in the causal CNN.
  depth : Depth of the causal CNN.
  reduced_size : Fixed length to which the output time series of the
         causal CNN is reduced.
  out_channels : Number of output channels.
  kernel_size : Kernel size of the applied non-residual convolutions.
code: def __init__(
      self,
      in_channels: int,
      channels: int,
      depth: int,
      out_channels: int,
      kernel_size: int,
  ):
      super(CausalCNNEncoder, self).__init__()
      causal_cnn = CausalCNN(
          in_channels, channels, depth, out_channels, kernel_size
      )
      self.network = torch.nn.Sequential(
          causal_cnn,
      )
  
imports: import torch
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new CausalCNNEncoder object from inherited base classes: torch.nn with example: obj = CausalCNNEncoder(in_channels, channels, depth, out_channels, kernel_size)