class_docstr: TransformerConv
docstr: send recv
docstr_tok: ["send","recv"]
code: def send_recv(self, graph, q, k, v, degree_norm):
      """send recv"""
      if self.use_degree_norm:
          sub_degree_norm = model_util.get_graph_degree_norm(graph)
          msg = graph.send(
              self.send_attention,
              src_feat={"k": k, "v": v, "deg": degree_norm},
              dst_feat={"q": q, "deg": sub_degree_norm},
          )
      else:
          msg = graph.send(
              self.send_attention,
              src_feat={"k": k, "v": v},
              dst_feat={"q": q},
          )
  
      output = graph.recv(reduce_func=self.reduce_attention, msg=msg)
      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 4 for calling the TransformerConv obj's underlying member method code with example usage: obj.send_recv(graph, q, k, v, degree_norm) and returns: output