code: def __init__(self, args, num_class):
      super(GINModel, self).__init__()
      self.args = args
      self.num_layers = self.args.num_layers
      self.input_size = self.args.feat_size
      self.output_size = self.args.hidden_size
      self.init_eps = self.args.init_eps
      self.train_eps = self.args.train_eps
      self.pool_type = self.args.pool_type
      self.dropout_prob = self.args.dropout_prob
      self.num_class = num_class
  
      self.gin_convs = nn.LayerList()
      self.norms = nn.LayerList()
      self.linears = nn.LayerList()
      self.linears.append(nn.Linear(self.input_size, self.num_class))
      for i in range(self.num_layers):
          if i == 0:
              input_size = self.input_size
          else:
              input_size = self.output_size
          gin = pgl.nn.GINConv(
              input_size,
              self.output_size,
              "relu",
              self.init_eps,
              self.train_eps,
          )
          self.gin_convs.append(gin)
          ln = paddle.nn.LayerNorm(self.output_size)
          self.norms.append(ln)
          self.linears.append(
              nn.Linear(self.output_size, self.num_class)
          )
  
      self.relu = nn.ReLU()
      self.graph_pooling = pgl.nn.GraphPool(self.pool_type)
  
file_path: PGL/examples/gin/model.py
imports: import os
  import sys
  import time
  import argparse
  import numpy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  import pgl
label_desc: Use image node_id 1 to create a new GINModel object from inherited base classes: nn with example: obj = GINModel(args, num_class)