class_docstr: A GraphNorm layer implemented as in
  
  GraphNorm: A Principled Approach to Accelerating Graph Neural Network Training (arXiv:2009.03294v1)
    Tianle Cai, Shengjie Luo, Keyulu Xu, Di He, Tie-yan Liu, Liwei Wang
class_docstr_tok: ["A","GraphNorm","layer","implemented","as","in","GraphNorm",":","A","Principled","Approach","to","Accelerating","Graph","Neural","Network","Training","(","arXiv:2009.03294v1",")","Tianle","Cai",",","Shengjie","Luo",",","Keyulu","Xu",",","Di","He",",","Tie-yan","Liu",",","Liwei","Wang"]
code: def __init__(self, input_state_dimension: int, eps: float = 1e-10):
      super().__init__()
      self.__input_state_dim = input_state_dimension
      self.__eps = eps
  
      self.gamma = nn.Parameter(torch.ones(1, input_state_dimension))
      self.alpha = nn.Parameter(torch.ones(1, input_state_dimension))
      self.bias = nn.Parameter(torch.zeros(1, input_state_dimension))
  
file_path: ptgnn/ptgnn/neuralmodels/gnn/messagepassing/graphnorm.py
imports: import torch
  from torch import nn
  from torch_scatter import scatter_mean
  from typing import Dict, List, Tuple
  from ptgnn.neuralmodels.gnn.messagepassing.abstractmessagepassing import AbstractMessagePassingLayer
label_desc: Use image node_id 1 to create a new GraphNorm object from inherited base classes: AbstractMessagePassingLayer with example: obj = GraphNorm(input_state_dimension, eps)