class_docstr: Description
  -----------
  The pooling module for graph
  
  Parameters
  ----------
  hidden_dim : int
      The number of channels of node features.
  use_gcn : bool, optional
      Whether use gcn in down sampling process.
      default: :obj:`False`
class_docstr_tok: ["Description","--","--","--","--","--","-","The","pooling","module","for","graph","Parameters","--","--","--","--","--","hidden_dim",":","int","The","number","of","channels","of","node","features",".","use_gcn",":","bool",",","optional","Whether","use","gcn","in","down","sampling","process",".","default",":",":","obj",":","`","False","`"]
code: def __init__(self, hidden_dim: int, use_gcn=False):
      super(GraphPool, self).__init__()
      self.use_gcn = use_gcn
      self.down_sample_gcn = (
          GraphConvWithDropout(hidden_dim, hidden_dim)
          if use_gcn
          else None
      )
  
imports: from typing import Optional
  import dgl
  import torch
  import torch.nn
  from dgl import DGLGraph
  from dgl.nn import GraphConv
  from torch import Tensor
label_desc: Use image node_id 1 to create a new GraphPool object from inherited base classes: torch.nn with example: obj = GraphPool(hidden_dim, use_gcn)