code: def calibrate(self, cali_data, cali_labels):
      
      self.nb_cali = cali_labels.shape[0]
      self.cali_activations = self.get_activations(cali_data)
      self.cali_labels = cali_labels
  
      print("Starting calibration of DkNN.")
      cali_knns_ind, cali_knns_labels = self.find_train_knns(
          self.cali_activations)
      assert all([v.shape == (self.nb_cali, self.neighbors)
                  for v in cali_knns_ind.itervalues()])
      assert all([v.shape == (self.nb_cali, self.neighbors)
                  for v in cali_knns_labels.itervalues()])
  
      cali_knns_not_in_class = self.nonconformity(cali_knns_labels)
      cali_knns_not_in_l = np.zeros(self.nb_cali, dtype=np.int32)
      for i in range(self.nb_cali):
        cali_knns_not_in_l[i] = cali_knns_not_in_class[i, cali_labels[i]]
      cali_knns_not_in_l_sorted = np.sort(cali_knns_not_in_l)
      self.cali_nonconformity = np.trim_zeros(cali_knns_not_in_l_sorted, trim='f')
      self.nb_cali = self.cali_nonconformity.shape[0]
      self.calibrated = True
      print("DkNN calibration complete.")
docs: Runs the DkNN on holdout data to calibrate the credibility metric.
      :param cali_data: np array of calibration data.
      :param cali_labels: np vector of calibration labels.