class_docstr: Implementation of graph attention networks (GAT)
  This is an implementation of the paper GRAPH ATTENTION NETWORKS
  (https://arxiv.org/abs/1710.10903).
  Args:
      input_size: The size of the inputs. 
      hidden_size: The hidden size for gat.
      activation: (default None) The activation for the output.
      num_heads: (default 1) The head number in gat.
      feat_drop: (default 0.6) Dropout rate for feature.
      attn_drop: (default 0.6) Dropout rate for attention.
      concat: (default True) Whether to concat output heads or average them.
class_docstr_tok: ["Implementation","of","graph","attention","networks","(","GAT",")","This","is","an","implementation","of","the","paper","GRAPH","ATTENTION","NETWORKS","(","https",":","\/\/arxiv.org\/abs\/1710.10903",")",".","Args",":","input_size",":","The","size","of","the","inputs",".","hidden_size",":","The","hidden","size","for","gat",".","activation",":","(","default","None",")","The","activation","for","the","output",".","num_heads",":","(","default","1",")","The","head","number","in","gat",".","feat_drop",":","(","default","0.6",")","Dropout","rate","for","feature",".","attn_drop",":","(","default","0.6",")","Dropout","rate","for","attention",".","concat",":","(","default","True",")","Whether","to","concat","output","heads","or","average","them","."]
code: def _send_attention(self, src_feat, dst_feat, edge_feat):
      alpha = src_feat["src"] + dst_feat["dst"]
      alpha = self.leaky_relu(alpha)
      return {"alpha": alpha, "h": src_feat["h"]}
  
imports: import math
  import numpy
  import paddle
  import paddle.nn
  import paddle.nn.functional
  import pgl
  from pgl.nn import functional
label_desc: Use image node_id 2 for calling the GATConv obj's underlying member method code with example usage: obj._send_attention(src_feat, dst_feat, edge_feat) and returns: dict