class_docstr: GraphSAGEMax
code: def forward(self, graph, x, next_num_nodes, degree_norm=None):
      src, dst = graph.edges[:, 0], graph.edges[:, 1]
      neigh_feature = paddle.geometric.send_u_recv(
          x, src, dst, "max", out_size=next_num_nodes
      )
      self_feature = x[:next_num_nodes]
      output = paddle.concat([self_feature, neigh_feature], axis=1)
      output = self.lin(output)
      if self.act is not None:
          output = getattr(F, self.act)(output)
      output = F.normalize(output, axis=-1)
      return output
  
imports: import paddle
  import paddle.nn
  import paddle.nn.functional
  import pgl
  import math
  from .None import model_util
label_desc: Use image node_id 2 for calling the GraphSAGEMax obj's underlying member method code with example usage: obj.forward(graph, x, next_num_nodes, degree_norm) and returns: output