code: def __call__(self, x, edge_index, size=None, **kwargs):
      if isinstance(x, tf.Tensor):
          x = self.in_fc(x)
      else:
          x = (
              None if x[0] is None else self.in_fc(x[0]),
              None if x[1] is None else self.in_fc(x[1]),
          )
      norm = self.norm(edge_index, size)
      gather_x, gather_norm = self.gather_feature([x, norm], edge_index)
      out = self.apply_edge(
          gather_x[0], gather_x[1], gather_norm[0], gather_norm[1]
      )
      out = mp_ops.scatter_(self.aggr, out, edge_index[0], size=size[0])
      out = self.apply_node(out)
      return 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 5 for calling the DNAConv obj's underlying member method code with example usage: obj.__call__(x, edge_index, size) and returns: out