code: def forward(self, data):
      x, edge_index, batch = data.x, data.edge_index, data.batch
      if self.num_graph_features > 0:
          graph_feature = data.gf
  
      x = F.relu(self.conv1(x, edge_index))
      x, edge_index, _, batch, _, _ = self.pool1(
          x, edge_index, None, batch
      )
      x1 = torch.cat([gmp(x, batch), gap(x, batch)], dim=1)
  
      x = F.relu(self.conv2(x, edge_index))
      x, edge_index, _, batch, _, _ = self.pool2(
          x, edge_index, None, batch
      )
      x2 = torch.cat([gmp(x, batch), gap(x, batch)], dim=1)
  
      x = F.relu(self.conv3(x, edge_index))
      x, edge_index, _, batch, _, _ = self.pool3(
          x, edge_index, None, batch
      )
      x3 = torch.cat([gmp(x, batch), gap(x, batch)], dim=1)
  
      x = x1 + x2 + x3
      if self.num_graph_features > 0:
          x = torch.cat([x, graph_feature], dim=-1)
      x = self.lin1(x)
      x = activate_func(x, self.args["act"])
      x = F.dropout(x, p=self.dropout, training=self.training)
      x = self.lin2(x)
      x = activate_func(x, self.args["act"])
      x = F.log_softmax(self.lin3(x), dim=-1)
  
      return x
  
file_path: AutoGL/autogl/module/model/pyg/topkpool.py
imports: import torch
  import torch.nn.functional
  from torch_geometric.nn import GraphConv, TopKPooling
  from torch_geometric.nn import global_mean_pool, global_max_pool
  from .None import register_model
  from .base import BaseAutoModel, activate_func
  from ....utils import get_logger
label_desc: Use image node_id 2 for calling the Topkpool obj's underlying member method code with example usage: obj.forward(data) and returns: x