class_docstr: An implementation THAT SUPPORTS BATCHES of the Attention Temporal Graph Convolutional Cell.
  For details see this paper: `"A3T-GCN: Attention Temporal Graph Convolutional
  Network for Traffic Forecasting." <https://arxiv.org/abs/2006.11583>`_
  
  Args:
      in_channels (int): Number of input features.
      out_channels (int): Number of output features.
      periods (int): Number of time periods.
      improved (bool): Stronger self loops (default :obj:`False`).
      cached (bool): Caching the message weights (default :obj:`False`).
      add_self_loops (bool): Adding self-loops for smoothing (default :obj:`True`).
code: def __init__(
      self,
      in_channels: int,
      out_channels: int,
      periods: int,
      batch_size: int,
      improved: bool = False,
      cached: bool = False,
      add_self_loops: bool = True,
  ):
      super(A3TGCN2, self).__init__()
  
      self.in_channels = in_channels  # 2
      self.out_channels = out_channels  # 32
      self.periods = periods  # 12
      self.improved = improved
      self.cached = cached
      self.add_self_loops = add_self_loops
      self.batch_size = batch_size
      self._setup_layers()
  
file_path: pytorch_geometric_temporal/torch_geometric_temporal/nn/recurrent/attentiontemporalgcn.py
imports: import torch
  from .temporalgcn import TGCN
  from .temporalgcn import TGCN2
  from torch_geometric.nn import GCNConv
label_desc: Use image node_id 1 to create a new A3TGCN2 object from inherited base classes: torch.nn with example: obj = A3TGCN2(in_channels, out_channels, periods, batch_size, improved, cached, add__loops)