code: def apply_edge(self, x_i, x_j, norm_i, norm_j):
      x_i = tf.expand_dims(x_i, 1)
      x_j = tf.expand_dims(x_j, 1)
      out = self.multi_head(x_i, x_j, x_j)
      out = tf.squeeze(out, 0)
      return norm_i * norm_j * out
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow
  import tf_euler
  from tf_euler.python.convolution import conv
  from tf_euler.python.euler_ops import mp_ops
label_desc: Use image node_id 6 for calling the DNAConv obj's underlying member method code with example usage: obj.apply_edge(x_i, x_j, norm_i, norm_j) and returns: unknown