class_docstr: An implementation of the Multi-Component Spatial-Temporal Graph Convolution Networks, a degraded version of ASTGCN.
  For details see this paper: `"Attention Based Spatial-Temporal Graph Convolutional
  Networks for Traffic Flow Forecasting." <https://ojs.aaai.org/index.php/AAAI/article/view/3881>`_
  
  Args:
  
      nb_block (int): Number of ASTGCN blocks in the model.
      in_channels (int): Number of input features.
      K (int): Order of Chebyshev polynomials. Degree is K-1.
      nb_chev_filter (int): Number of Chebyshev filters.
      nb_time_filter (int): Number of time filters.
      time_strides (int): Time strides during temporal convolution.
      num_for_predict (int): Number of predictions to make in the future.
      len_input (int): Length of the input sequence.
docstr: Making a forward pass. This module takes a likst of MSTGCN blocks and use a final convolution to serve as a multi-component fusion.
  B is the batch size. N_nodes is the number of nodes in the graph. F_in is the dimension of input features.
  T_in is the length of input sequence in time. T_out is the length of output sequence in time.
  
  Arg types:
      * X (PyTorch FloatTensor) - Node features for T time periods, with shape (B, N_nodes, F_in, T_in).
      * edge_index (PyTorch LongTensor): Edge indices, can be an array of a list of Tensor arrays, depending on whether edges change over time.
  
  Return types:
      * X (PyTorch FloatTensor) - Hidden state tensor for all nodes, with shape (B, N_nodes, T_out).
docstr_tok: ["Making","a","forward","pass",".","This","module","takes","a","likst","of","MSTGCN","blocks","and","use","a","final","convolution","to","serve","as","a","multi-component","fusion",".","B","is","the","batch","size",".","N_nodes","is","the","number","of","nodes","in","the","graph",".","F_in","is","the","dimension","of","input","features",".","T_in","is","the","length","of","input","sequence","in","time",".","T_out","is","the","length","of","output","sequence","in","time",".","Arg","types",":","*","X","(","PyTorch","FloatTensor",")","-","Node","features","for","T","time","periods",",","with","shape","(","B",",","N_nodes",",","F_in",",","T_in",")",".","*","edge_index","(","PyTorch","LongTensor",")",":","Edge","indices",",","can","be","an","array","of","a","list","of","Tensor","arrays",",","depending","on","whether","edges","change","over","time",".","Return","types",":","*","X","(","PyTorch","FloatTensor",")","-","Hidden","state","tensor","for","all","nodes",",","with","shape","(","B",",","N_nodes",",","T_out",")","."]
code: def forward(
      self, X: torch.FloatTensor, edge_index: torch.LongTensor
  ) -> torch.FloatTensor:
      r"""Making a forward pass. This module takes a likst of MSTGCN blocks and use a final convolution to serve as a multi-component fusion.
      B is the batch size. N_nodes is the number of nodes in the graph. F_in is the dimension of input features.
      T_in is the length of input sequence in time. T_out is the length of output sequence in time.
  
      Arg types:
          * X (PyTorch FloatTensor) - Node features for T time periods, with shape (B, N_nodes, F_in, T_in).
          * edge_index (PyTorch LongTensor): Edge indices, can be an array of a list of Tensor arrays, depending on whether edges change over time.
  
      Return types:
          * X (PyTorch FloatTensor) - Hidden state tensor for all nodes, with shape (B, N_nodes, T_out).
      """
      for block in self._blocklist:
          X = block(X, edge_index)
  
      X = self._final_conv(X.permute(0, 3, 1, 2))[:, :, :, -1].permute(
          0, 2, 1
      )
      return X
  
file_path: pytorch_geometric_temporal/torch_geometric_temporal/nn/attention/mstgcn.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from torch_geometric.data import Data
  from torch_geometric.nn import ChebConv
  from torch_geometric.transforms import LaplacianLambdaMax
label_desc: Use image node_id 3 for calling the MSTGCN obj's underlying member method code with example usage: obj.forward(X, edge_index) and returns: X