code: def call(self, x, training=False):
      prev_x = x
      out = self.conv1(x)
      out = self.batch1(out)
      out = self.ac1(out)
      out = self.drop1(out) if training else out
  
      out = self.conv2(out)
      out = self.batch2(out)
      out = self.ac2(out)
      out = self.drop2(out) if training else out
  
      if prev_x.shape[-1] != out.shape[-1]:  # match the dimention
          prev_x = self.downsample(prev_x)
  
      return self.ac3(prev_x + out)
  
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 2 for calling the TemporalBlock obj's underlying member method code with example usage: obj.call(x, training) and returns: self