code: def gcn_norm(
      edge_index,
      edge_weight=None,
      num_nodes=None,
      improved=False,
      add_self_loops=True,
      dtype=None,
  ):
      # type: (SparseTensor, OptTensor, Optional[int], bool, bool, Optional[int]) -> SparseTensor  # noqa
      pass
  
imports: from typing import Optional, Tuple
  from torch_geometric.typing import Adj, OptTensor, PairTensor
  import torch
  from torch import Tensor
  from torch.nn import Parameter
  from torch_scatter import scatter_add
  from torch_sparse import SparseTensor, matmul, fill_diag, sum, mul
  from torch_geometric.nn.conv import MessagePassing
  from torch_geometric.utils import add_remaining_self_loops
  from torch_geometric.utils.num_nodes import maybe_num_nodes
  from .inits import glorot, zeros
label_desc: Use image node_id 2 for calling a global function with example usage: gcn_norm(edge_index, edge_weight, num_nodes, improved, add__loops, dtype) without return types