code: def __call__(self, inputs):
      label = self.get_label_fn(inputs)
      embedding = self.embed(inputs)
      logit = self.logit_fn(embedding)
  
      metric = self.metric_class(label, tf.nn.sigmoid(logit))
      loss = self.loss_fn(label, logit)
      return (embedding, loss, self.metric_name, metric)
  
file_path: euler/tf_euler/python/solution/base_supervise.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow
  import tf_euler
  from tf_euler.python.solution.losses import sigmoid_loss
label_desc: Use image node_id 3 for calling the SuperviseSolution obj's underlying member method code with example usage: obj.__call__(inputs) and returns: embedding,  loss,  self,  metric