code: def forward(self, graph, x, norm, *args):
      if self.drop_input:
          x = self.dropout_fn(x)
      x = self.linears[0](x)
      x = x0 = paddle.nn.ReLU()(x)
      x = self.dropout_fn(x)
  
      for i, hist in enumerate(self.histories):
          x = self.mini_gcnii(i + 1, graph, x, norm, x0)
          x = paddle.nn.ReLU()(x)
          x = self.push_and_pull(hist, x, *args)
          x = self.dropout_fn(x)
  
      x = self.mini_gcnii(self.num_layers, graph, x, norm, x0)
      x = paddle.nn.ReLU()(x)
      x = self.dropout_fn(x)
      x = self.linears[1](x)
      return x
  
file_path: PGL/apps/GNNAutoScale/gnn_models/gcnii.py
imports: import numpy
  import paddle
  import pgl
  import paddle.nn
  from .base_model import ScalableGNN
label_desc: Use image node_id 3 for calling the GCNII obj's underlying member method code with example usage: obj.forward(graph, x, norm) and returns: x