class_docstr: Defining the Graph for the Two-Stream Adaptive Graph Convolutional Network.
  It's composed of the normalized inward-links, outward-links and
  self-links between the nodes as originally defined in the
  `authors repo  <https://github.com/lshiwjx/2s-AGCN/blob/master/graph/tools.py>`
  resulting in the shape of (3, num_nodes, num_nodes).
  Args:
      edge_index (Tensor array): Edge indices
      num_nodes (int): Number of nodes
  Return types:
          * **A** (PyTorch Float Tensor) - Three layer normalized adjacency matrix
class_docstr_tok: ["Defining","the","Graph","for","the","Two-Stream","Adaptive","Graph","Convolutional","Network",".","It","'s","composed","of","the","normalized","inward-links",",","outward-links","and","self-links","between","the","nodes","as","originally","defined","in","the","`","authors","repo","<","https",":","\/\/github.com\/lshiwjx\/2s-AGCN\/blob\/master\/graph\/tools.py",">","`","resulting","in","the","shape","of","(","3",",","num_nodes",",","num_nodes",")",".","Args",":","edge_index","(","Tensor","array",")",":","Edge","indices","num_nodes","(","int",")",":","Number","of","nodes","Return","types",":","*","*","*","A","*","*","(","PyTorch","Float","Tensor",")","-","Three","layer","normalized","adjacency","matrix"]
code: def __init__(self, edge_index: list, num_nodes: int):
      self.num_nodes = num_nodes
      self.edge_index = edge_index
      self.A = self.get_spatial_graph(self.num_nodes)
  
imports: import math
  import torch
  import numpy
  import torch.nn
  from torch.autograd import Variable
  from torch_geometric.utils.to_dense_adj import to_dense_adj
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new GraphAAGCN object  with example: obj = GraphAAGCN(edge_index, num_nodes)