def update(self, prediction_probs, eviction_mask, oracle_scores):
    """Updates the value of the metric based on a batch of data.

    Args:
      prediction_probs (torch.FloatTensor): batch of probability distributions
        over cache lines of shape (batch_size, num_cache_lines), each
        corresponding to a cache access. In each distribution, the lines are
        ordered from top-1 to top-num_cache_lines.
      eviction_mask (torch.ByteTensor): of shape (batch_size), where
        eviction_mask[i] = True if the i-th cache access results in an eviction.
        The metric value is tracked for two populations: (i) all cache accesses
        and (ii) for evictions.
      oracle_scores (list[list[float]]): the oracle scores of the cache lines,
        of shape (batch_size, num_cache_lines).
    """
    raise NotImplementedError()