code: def attn_appnp(gw, feature, attn, alpha=0.2, k_hop=10):
      """Attention based APPNP to Make model output deeper
      Args:
          gw: Graph wrapper object (:code:`StaticGraphWrapper` or :code:`GraphWrapper`)
          attn: Using the attntion as transition matrix for APPNP
          feature: A tensor with shape (num_nodes, feature_size).
          k_hop: K Steps for Propagation
      Return:
          A tensor with shape (num_nodes, hidden_size)
      """
  
      def send_src_copy(src_feat, dst_feat, edge_feat):
          feature = src_feat["h"]
          return feature
  
      h0 = feature
      attn = L.reduce_mean(attn, 1)
      for i in range(k_hop):
          msg = gw.send(send_src_copy, nfeat_list=[("h", feature)])
          msg = msg * attn
          feature = gw.recv(msg, "sum")
          feature = feature * (1 - alpha) + h0 * alpha
      return feature
  
file_path: PGL/ogb_examples/nodeproppred/unimp/module/model_unimp_large.py
imports: import pgl
  import paddle.fluid
  import paddle.fluid.layers
  from pgl.utils import paddle_helper
  from pgl import message_passing
  import math
label_desc: Use image node_id 3 for calling a global function with example usage: attn_appnp(gw, feature, attn, alpha, k_hop) and returns: feature, feature