code: def __init__(
      self,
      node_feat_dim,
      node_hiddens,
      graph_hiddens,
      use_gate=True,
      pool_type=PoolType.SUM,
  ):
      super(Readout, self).__init__()
      self.graph_feat_dim = node_hiddens[-1]
      self.use_gate = use_gate
      self._get_node_net(node_feat_dim, node_hiddens, use_gate)
      self._get_graph_net(self.graph_feat_dim, graph_hiddens)
  
      if pool_type == PoolType.MEAN:
          self.pool = global_mean_pool
      elif pool_type == PoolType.SUM:
          self.pool = global_add_pool
      elif pool_type == PoolType.MAX:
          self.pool = global_max_pool
  
imports: import torch
  import torch.nn
  from torch_scatter import scatter
  from torch_geometric.nn import global_add_pool, global_mean_pool, global_max_pool, GINConv
  from dig.auggraph.method.GraphAug.constants import *
label_desc: Use image node_id 1 to create a new Readout object from inherited base classes: nn with example: obj = Readout(node_feat_dim, node_hiddens, graph_hiddens, use_gate, pool_type)