class_docstr: Apply max pooling over the nodes in the graph.
  
  .. math::
      r^{(i)} = \max_{k=1}^{N_i}\left( x^{(i)}_k \right)
code: def __init__(self, dim=None, use_linear_proj=False):
      super(MaxPooling, self).__init__()
      if use_linear_proj:
          assert (
              dim is not None
          ), "dim should be specified when use_linear_proj is set to True"
          self.linear = nn.Linear(dim, dim, bias=False)
      else:
          self.linear = None
  
imports: import torch
  import torch.nn
  from .....data.data import from_batch
  from ..base import PoolingBase
label_desc: Use image node_id 1 to create a new MaxPooling object from inherited base classes: PoolingBase with example: obj = MaxPooling(dim, use_linear_proj)