class_docstr: Description
  -----------
  Introduced in "DeeperGCN: All You Need to Train Deeper GCNs <https://arxiv.org/abs/2006.07739>"
  
  Parameters
  ----------
  node_feat_dim: int
      Size of node feature.
  edge_feat_dim: int
      Size of edge feature.
  hid_dim: int
      Size of hidden representations.
  out_dim: int
      Size of output.
  num_layers: int
      Number of graph convolutional layers.
  dropout: float
      Dropout rate. Default is 0.
  beta: float
      A continuous variable called an inverse temperature. Default is 1.0.
  learn_beta: bool
      Whether beta is a learnable weight. Default is False.
  aggr: str
      Type of aggregation. Default is 'softmax'.
  mlp_layers: int
      Number of MLP layers in message normalization. Default is 1.
code: def __init__(
      self,
      node_feat_dim,
      edge_feat_dim,
      hid_dim,
      out_dim,
      num_layers,
      dropout=0.0,
      beta=1.0,
      learn_beta=False,
      aggr="softmax",
      mlp_layers=1,
  ):
      super(DeeperGCN, self).__init__()
  
      self.num_layers = num_layers
      self.dropout = dropout
      self.gcns = nn.ModuleList()
      self.norms = nn.ModuleList()
  
      for _ in range(self.num_layers):
          conv = GENConv(
              in_dim=hid_dim,
              out_dim=hid_dim,
              aggregator=aggr,
              beta=beta,
              learn_beta=learn_beta,
              mlp_layers=mlp_layers,
          )
  
          self.gcns.append(conv)
          self.norms.append(nn.BatchNorm1d(hid_dim, affine=True))
  
      self.node_encoder = AtomEncoder(hid_dim)
      self.pooling = AvgPooling()
      self.output = nn.Linear(hid_dim, out_dim)
  
file_path: dgl/examples/pytorch/deepergcn/models.py
imports: import dgl.function
  import torch.nn
  import torch.nn.functional
  from dgl.nn.pytorch.glob import AvgPooling
  from layers import GENConv
  from ogb.graphproppred.mol_encoder import AtomEncoder
label_desc: Use image node_id 1 to create a new DeeperGCN object from inherited base classes: nn with example: obj = DeeperGCN(node_feat_dim, edge_feat_dim, hid_dim, out_dim, num_layers, dropout, beta, learn_beta, aggr, mlp_layers)