code: def __init__(
      self,
      target_encoder_fn,
      context_encoder_fn,
      pos_sample_fn,
      neg_sample_fn,
      metric_name="mrr",
      logit_fn=PosNegLogits(),
      loss_fn=xent_loss,
  ):
      self.metric_name = metric_name
      self.metric_class = tf_euler.utils.metrics.get(metric_name)
      self.target_encoder = target_encoder_fn
      self.context_encoder = context_encoder_fn
      self.pos_sample_fn = pos_sample_fn
      self.neg_sample_fn = neg_sample_fn
      self.logit_fn = logit_fn
      self.loss_fn = loss_fn
  
file_path: euler/tf_euler/python/solution/base_unsupervise.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.logits import PosNegLogits
  from tf_euler.python.solution.losses import xent_loss
label_desc: Use image node_id 1 to create a new UnsuperviseSolution object from inherited base classes: object with example: obj = UnsuperviseSolution(target_encoder_fn, context_encoder_fn, pos_sample_fn, neg_sample_fn, metric_name, logit_fn, loss_fn)