class_docstr: An implementation of the Spatial Attention Module (i.e compute spatial attention scores). 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:
      in_channels (int): Number of input features.
      num_of_vertices (int): Number of vertices in the graph.
      num_of_timesteps (int): Number of time lags.
code: def _reset_parameters(self):
      for p in self.parameters():
          if p.dim() > 1:
              nn.init.xavier_uniform_(p)
          else:
              nn.init.uniform_(p)
  
imports: import math
  from typing import Optional, List, Union
  import torch
  import torch.nn
  from torch.nn import Parameter
  import torch.nn.functional
  from torch_geometric.data import Data
  from torch_geometric.typing import OptTensor
  from torch_geometric.nn.conv import MessagePassing
  from torch_geometric.transforms import LaplacianLambdaMax
  from torch_geometric.utils import remove_self_loops, add_self_loops, get_laplacian
label_desc: Use image node_id 2 for calling the SpatialAttention obj's underlying member method code with example usage: obj._reset_parameters() without return types