class_docstr: Universal Transformer(https://arxiv.org/pdf/1807.03819.pdf) with ACT(https://arxiv.org/pdf/1603.08983.pdf).
code: def propagate_attention(self, g, eids):
      # Compute attention score
      g.apply_edges(src_dot_dst("k", "q", "score"), eids)
      g.apply_edges(scaled_exp("score", np.sqrt(self.d_k)), eids)
      # Send weighted values to target nodes
      g.send_and_recv(
          eids,
          [fn.u_mul_e("v", "score", "v"), fn.copy_e("score", "score")],
          [fn.sum("v", "wv"), fn.sum("score", "z")],
      )
  
imports: from .attention import *
  from .layers import *
  from .functions import *
  from .embedding import *
  import dgl.function
  import torch
  import torch.nn.init
label_desc: Use image node_id 5 for calling the UTransformer obj's underlying member method code with example usage: obj.propagate_attention(g, eids) without return types