code: def __init__(
      self,
      n_inputs,
      n_outputs,
      kernel_size,
      stride,
      dilation,
      padding,
      dropout=0.2,
      repo_initialization=True,
  ):
      super(TemporalBlock, self).__init__()
      self.conv1 = nn.Conv1d(
          n_inputs,
          n_outputs,
          kernel_size,
          stride=stride,
          padding=padding,
          dilation=dilation,
      )
      self.bn1 = nn.BatchNorm1d(n_outputs)
      self.chomp1 = Chomp1d(padding)
      self.relu1 = nn.ReLU()
      self.dropout1 = nn.Dropout(dropout)
  
      self.conv2 = nn.Conv1d(
          n_outputs,
          n_outputs,
          kernel_size,
          stride=stride,
          padding=padding,
          dilation=dilation,
      )
      self.bn2 = nn.BatchNorm1d(n_outputs)
      self.chomp2 = Chomp1d(padding)
      self.relu2 = nn.ReLU()
      self.dropout2 = nn.Dropout(dropout)
  
      self.net = nn.Sequential(
          self.conv1,
          self.bn1,
          self.relu1,
          self.dropout1,
          self.chomp1,
          self.conv2,
          self.bn2,
          self.relu2,
          self.dropout2,
          self.chomp2,
      )
      self.downsample = (
          nn.Conv1d(n_inputs, n_outputs, 1)
          if n_inputs != n_outputs
          else None
      )
      self.relu = nn.ReLU()
      if repo_initialization:
          self.init_weights()
  
imports: import warnings
  import torch
  import torch.nn
  from .utils import PYTORCH_REGRESSION_LOSS_MAP
  from pytorch_lightning import seed_everything
  from bigdl.chronos.pytorch.model_wrapper.normalization import NormalizeTSModel
  from bigdl.chronos.pytorch.model_wrapper.decomposition import DecompositionTSModel
label_desc: Use image node_id 1 to create a new TemporalBlock object from inherited base classes: nn with example: obj = TemporalBlock(n_inputs, n_outputs, kernel_size, stride, dilation, padding, dropout, repo_initialization)