class_docstr: Encodes each time point of the support set time series via WaveNet
  
  Parameters
  ----------
  num_channels: The number of filters in each CNN layer.
  num_layers: The number of causal convolution blocks
  kernel_size: The kernel size of the filters in the causal convolution blocks
code: def __init__(
      self,
      encoder: nn.Module = None,
      num_channels: int = 64,
      num_layers: int = 5,
      kernel_size: int = 2,
  ):
      super().__init__()
      if encoder:
          self.encoder = encoder
      else:
          self.encoder = CausalCNNEncoder(
              in_channels=1,
              channels=num_channels,
              depth=num_layers,
              out_channels=num_channels,
              kernel_size=kernel_size,
          )
  
imports: from abc import ABC, abstractmethod
  import torch
  from meta.models.EcDc.components.tcn import CausalCNNEncoder
  from torch import nn
  import torch.nn.functional
  from torch.nn.utils.rnn import pack_padded_sequence, pad_packed_sequence
  from meta.data.batch import SeriesBatch
label_desc: Use image node_id 1 to create a new TcnSupportSetEncoder object from inherited base classes: SupportSetEncoder with example: obj = TcnSupportSetEncoder(encoder, num_channels, num_layers, kernel_size)