code: def __call__(self, inputs):
      src = tf.expand_dims(inputs, -1)
      embedding, embedding_negs = self.target_encoder(src)
      embedding_fusion = self.readout_func(embedding)
  
      loss, metric = self.decoder(
          embedding, embedding_fusion, embedding_negs
      )
      embedding = self.target_encoder(inputs)[0]
      return (embedding, loss, self.metric_name, metric)
  
file_path: euler/examples/dgi/dgi.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow
  import tf_euler
label_desc: Use image node_id 4 for calling the DGIBase obj's underlying member method code with example usage: obj.__call__(inputs) and returns: embedding,  loss,  self,  metric