class_docstr: AutoGIN. The model used in this automodel is GIN, i.e., the graph isomorphism network from the `"How Powerful are
  Graph Neural Networks?" <https://arxiv.org/abs/1810.00826>`_ paper. The layer is
  
  .. math::
      \mathbf{x}^{\prime}_i = h_{\mathbf{\Theta}} \left( (1 + \epsilon) \cdot
      \mathbf{x}_i + \sum_{j \in \mathcal{N}(i)} \mathbf{x}_j \right)
  
  or
  
  .. math::
      \mathbf{X}^{\prime} = h_{\mathbf{\Theta}} \left( \left( \mathbf{A} +
      (1 + \epsilon) \cdot \mathbf{I} \right) \cdot \mathbf{X} \right),
  
  here :math:`h_{\mathbf{\Theta}}` denotes a neural network, *.i.e.* an MLP.
  
  Parameters
  ----------
  num_features: `int`.
      The dimension of features.
  
  num_classes: `int`.
      The number of classes.
  
  device: `torch.device` or `str`
      The device where model will be running on.
  
  init: `bool`.
      If True(False), the model will (not) be initialized.
class_docstr_tok: ["AutoGIN",".","The","model","used","in","this","automodel","is","GIN",",","i.e.",",","the","graph","isomorphism","network","from","the","`","``","How","Powerful","are","Graph","Neural","Networks","?","''","<","https",":","\/\/arxiv.org\/abs\/1810.00826",">","`","_","paper",".","The","layer","is","..","math",":",":","\\mathbf","{","x","}","^","{","\\prime","}","_i","=","h_","{","\\mathbf","{","\\Theta","}","}","\\left","(","(","1","+","\\epsilon",")","\\cdot","\\mathbf","{","x","}","_i","+","\\sum_","{","j","\\in","\\mathcal","{","N","}","(","i",")","}","\\mathbf","{","x","}","_j","\\right",")","or","..","math",":",":","\\mathbf","{","X","}","^","{","\\prime","}","=","h_","{","\\mathbf","{","\\Theta","}","}","\\left","(","\\left","(","\\mathbf","{","A","}","+","(","1","+","\\epsilon",")","\\cdot","\\mathbf","{","I","}","\\right",")","\\cdot","\\mathbf","{","X","}","\\right",")",",","here",":","math",":","`","h_","{","\\mathbf","{","\\Theta","}","}","`","denotes","a","neural","network",",","*",".i.e",".","*","an","MLP",".","Parameters","--","--","--","--","--","num_features",":","`","int","`",".","The","dimension","of","features",".","num_classes",":","`","int","`",".","The","number","of","classes",".","device",":","`","torch.device","`","or","`","str","`","The","device","where","model","will","be","running","on",".","init",":","`","bool","`",".","If","True","(","False",")",",","the","model","will","(","not",")","be","initialized","."]
code: def from_hyper_parameter(self, hp, **kwargs):
      return super().from_hyper_parameter(
          hp, num_graph_features=self.num_graph_features, **kwargs
      )
  
file_path: AutoGL/autogl/module/model/pyg/gin.py
imports: import torch
  import torch.nn.functional
  from torch.nn import Linear, ReLU, Sequential, LeakyReLU, Tanh, ELU
  from torch_geometric.nn import GINConv, global_add_pool
  from torch.nn import BatchNorm1d
  from .None import register_model
  from .base import BaseAutoModel, activate_func
  from copy import deepcopy
  from ....utils import get_logger
label_desc: Use image node_id 2 for calling the AutoGIN obj's underlying member method code with example usage: obj.from_hyper_parameter(hp) and returns: super