code: def GraphSageConv(self, gw, feature, name):
      message = gw.send(
          self.send_func,
          nfeat_list=[("node_feat", feature)],
          efeat_list=None,
      )
      neighbor_feat = gw.recv(message, self.recv_func)
      neighbor_feat = fluid.layers.fc(
          neighbor_feat,
          self.hidden_size,
          act=self.act,
          name=name + "_n",
      )
      self_feature = fluid.layers.fc(
          feature, self.hidden_size, act=self.act, name=name + "_s"
      )
      output = self_feature + neighbor_feat
      output = fluid.layers.l2_normalize(output, axis=1)
  
      return output
  
imports: import os
  import re
  import time
  from random import random
  from functools import reduce, partial
  import numpy
  import multiprocessing
  import paddle
  import paddle.fluid
  import paddle.fluid
  import paddle.fluid.layers
  from pgl.graph_wrapper import GraphWrapper
  from pgl.layers.conv import gcn, gat
  from pgl.utils import paddle_helper
label_desc: Use image node_id 2 for calling the GraphSageModel obj's underlying member method code with example usage: obj.GraphSageConv(gw, feature, name) and returns: output