class_docstr: A combination of GCN layer and SAGPool layer,
  followed by a concatenated (mean||sum) readout operation.
class_docstr_tok: ["A","combination","of","GCN","layer","and","SAGPool","layer",",","followed","by","a","concatenated","(","mean||sum",")","readout","operation","."]
code: def __init__(self, in_dim: int, out_dim: int, pool_ratio=0.8):
      super(ConvPoolBlock, self).__init__()
      self.conv = GraphConv(in_dim, out_dim)
      self.pool = SAGPool(out_dim, ratio=pool_ratio)
      self.avgpool = AvgPooling()
      self.maxpool = MaxPooling()
  
file_path: dgl/examples/pytorch/sagpool/layer.py
imports: import dgl
  import torch
  import torch.nn.functional
  from dgl.nn import AvgPooling, GraphConv, MaxPooling
  from utils import get_batch_id, topk
label_desc: Use image node_id 1 to create a new ConvPoolBlock object from inherited base classes: torch.nn with example: obj = ConvPoolBlock(in_dim, out_dim, pool_ratio)