code: def __init__(
      self,
      past_seq_len,
      future_seq_len,
      input_feature_num,
      output_feature_num,
      num_channels=[30] * 8,
      kernel_size=3,
      dropout=0.1,
      repo_initialization=True,
  ):
      # num_channels is a list contains hidden sizes of Conv1D
      super(TemporalConvNet, self).__init__()
  
      self.past_seq_len = past_seq_len
      self.future_seq_len = future_seq_len
      self.input_feature_num = input_feature_num
      self.output_feature_num = output_feature_num
      self.kernel_size = kernel_size
      self.num_channels = num_channels
      self.dropout = dropout
      self.repo_initialization = repo_initialization
  
      if repo_initialization:
          init = tf.keras.initializers.RandomNormal(
              mean=0.0, stddev=0.01
          )
      else:
          init = tf.keras.initializers.HeUniform()
  
      # initialize model
      self.network = tf.keras.Sequential()
  
      # The model contains "num_levels" TemporalBlock
      num_levels = len(num_channels)
      for i in range(num_levels):
          dilation_rate = 2**i
          self.network.add(
              TemporalBlock(
                  dilation_rate,
                  num_channels[i],
                  kernel_size,
                  padding="causal",
                  dropout_rate=dropout,
              )
          )
      self.network.add(
          TemporalBlock(
              dilation_rate,
              self.output_feature_num,
              kernel_size,
              padding="causal",
              dropout_rate=dropout,
          )
      )
  
      self.linear = tf.keras.layers.Dense(
          future_seq_len, kernel_initializer=init
      )
      self.permute = tf.keras.layers.Permute((2, 1))
  
file_path: BigDL/python/chronos/src/bigdl/chronos/model/tf2/TCN_keras.py
imports: from tokenize import group
  import numpy
  import tensorflow
  from bigdl.nano.tf.keras import Model
  from tensorflow.keras.layers import Conv1D, BatchNormalization, Activation, Dropout, Input, Layer
  from bigdl.chronos.model.tf2.keras_model_wrapper import NormalizeTSModel
label_desc: Use image node_id 1 to create a new TemporalConvNet object from inherited base classes: Model with example: obj = TemporalConvNet(past_seq_len, future_seq_len, input_feature_num, output_feature_num, num_channels, kernel_size, dropout, repo_initialization)