code: def _full_rank(self, pos_samples, excl_pos_samples, predictions):
      pos_samples_set = set(pos_samples)
      pos_samples = np.array(pos_samples, dtype=np.int32)
      pos_predictions = predictions[pos_samples]
  
      excl_pos_samples_set = set(excl_pos_samples)
      rank_above = np.zeros(len(pos_samples))
  
      pos_samples_len = len(pos_samples)
      for ind in range(len(predictions)):
          if (
              ind not in excl_pos_samples_set
              and ind not in pos_samples_set
          ):
              for pos_ind in range(pos_samples_len):
                  if pos_predictions[pos_ind] < predictions[ind]:
                      rank_above[pos_ind] += 1
  
      return rank_above, len(predictions) - len(excl_pos_samples) - len(
          pos_samples
      )
  
file_path: openrec/openrec/tf1/utils/evaluators/eval_manager.py
imports: import numpy
label_desc: Use image node_id 2 for calling the EvalManager obj's underlying member method code with example usage: obj._full_rank(pos_samples, excl_pos_samples, predictions) and returns: rank_above,  unknown