def __init__(self,
               *,
               validation_batched,
               fever_dev_path,
               max_evidence,
               max_recall_n = 15,
               checkpoint_dir,
               debug = False):
    """Compute the fever metrics from the batched dataset.

    Args:
      validation_batched: Batched dataset to compute metrics from.
      fever_dev_path: Path to fever dev data
      max_evidence: Max evidence to use
      max_recall_n: Stop computing recall after this position
      checkpoint_dir: If not none, then write validation predictions to disk
        here every epoch
      debug: Whether to enable debug handling of metrics
        since (some fail/error without full data)
    """
    super().__init__()
    self._validation_batched = validation_batched
    self._fever_dev_path = fever_dev_path
    self._max_recall_n = max_recall_n
    self._max_evidence = max_evidence
    self._checkpoint_dir = checkpoint_dir
    self._debug = debug
    self._validation_flat = list(self._validation_batched.unbatch())
    self._dev = util.read_jsonlines(fever_dev_path)
    self._verifiable_dev = [
        claim for claim in self._dev
        if claim['label'] != constants.NOT_ENOUGH_INFO]
    self._verifiable_dev_lookup = {
        claim['id']: claim for claim in self._verifiable_dev}
Compute the fever metrics from the batched dataset.

    Args:
      validation_batched: Batched dataset to compute metrics from.
      fever_dev_path: Path to fever dev data
      max_evidence: Max evidence to use
      max_recall_n: Stop computing recall after this position
      checkpoint_dir: If not none, then write validation predictions to disk
        here every epoch
      debug: Whether to enable debug handling of metrics
        since (some fail/error without full data)
    
language/serene/callbacks.py