class_docstr: Parameters
  -----------
  in_dim: int
      Input feature size. i.e, the number of dimensions of: math: `H^{(i)}`.
  hid_dim: int
      Hidden feature size.
  n_class: int
      Number of classes.
  S: int
      Number of Augmentation samples
  K: int
      Number of Propagation Steps
  node_dropout: float
      Dropout rate on node features.
  input_dropout: float
      Dropout rate of the input layer of a MLP
  hidden_dropout: float
      Dropout rate of the hidden layer of a MLPx
  batchnorm: bool, optional
      If True, use batch normalization.
code: def __init__(
      self,
      in_dim,
      hid_dim,
      n_class,
      S=1,
      K=3,
      node_dropout=0.0,
      input_droprate=0.0,
      hidden_droprate=0.0,
      batchnorm=False,
  ):
      super(GRAND, self).__init__()
      self.in_dim = in_dim
      self.hid_dim = hid_dim
      self.S = S
      self.K = K
      self.n_class = n_class
  
      self.mlp = MLP(
          in_dim,
          hid_dim,
          n_class,
          input_droprate,
          hidden_droprate,
          batchnorm,
      )
  
      self.dropout = node_dropout
      self.node_dropout = nn.Dropout(node_dropout)
  
file_path: dgl/examples/pytorch/grand/model.py
imports: import dgl.function
  import numpy
  import torch
  import torch.nn
  import torch.nn.functional
label_desc: Use image node_id 1 to create a new GRAND object from inherited base classes: nn with example: obj = GRAND(in_dim, hid_dim, n_class, S, K, node_dropout, input_droprate, hidden_droprate, batchnorm)