class_docstr: ActivityNet-style evaluation.
  
  Args:
      config: a :class:`ActivityNetEvaluationConfig`
class_docstr_tok: ["ActivityNet-style","evaluation",".","Args",":","config",":","a",":","class",":","`","ActivityNetEvaluationConfig","`"]
docstr: Performs ActivityNet-style evaluation on the given video.
  
  Predicted segments are matched to ground truth segments in descending
  order of confidence, with matches requiring a minimum IoU of
  ``self.config.iou``.
  
  The ``self.config.classwise`` parameter controls whether to only match
  segments with the same class label (True) or allow matches between
  classes (False).
  
  Args:
      sample: a :class:`fiftyone.core.sample.Sample`
      eval_key (None): the evaluation key for this evaluation
  
  Returns:
      a list of matched
      ``(gt_label, pred_label, iou, pred_confidence, gt_id, pred_id)``
      tuples
docstr_tok: ["Performs","ActivityNet-style","evaluation","on","the","given","video",".","Predicted","segments","are","matched","to","ground","truth","segments","in","descending","order","of","confidence",",","with","matches","requiring","a","minimum","IoU","of","``","self.config.iou","``",".","The","``","self.config.classwise","``","parameter","controls","whether","to","only","match","segments","with","the","same","class","label","(","True",")","or","allow","matches","between","classes","(","False",")",".","Args",":","sample",":","a",":","class",":","`","fiftyone.core.sample.Sample","`","eval_key","(","None",")",":","the","evaluation","key","for","this","evaluation","Returns",":","a","list","of","matched","``","(","gt_label",",","pred_label",",","iou",",","pred_confidence",",","gt_id",",","pred_id",")","``","tuples"]
code: def evaluate(self, sample, eval_key=None):
      """Performs ActivityNet-style evaluation on the given video.
  
      Predicted segments are matched to ground truth segments in descending
      order of confidence, with matches requiring a minimum IoU of
      ``self.config.iou``.
  
      The ``self.config.classwise`` parameter controls whether to only match
      segments with the same class label (True) or allow matches between
      classes (False).
  
      Args:
          sample: a :class:`fiftyone.core.sample.Sample`
          eval_key (None): the evaluation key for this evaluation
  
      Returns:
          a list of matched
          ``(gt_label, pred_label, iou, pred_confidence, gt_id, pred_id)``
          tuples
      """
      gts = sample[self.gt_field]
      preds = sample[self.pred_field]
  
      if eval_key is None:
          # Don't save results on user's data
          eval_key = "eval"
          gts = _copy_labels(gts)
          preds = _copy_labels(preds)
  
      return _activitynet_evaluation_single_iou(
          gts, preds, eval_key, self.config
      )
  
imports: import logging
  from collections import defaultdict
  import numpy
  import eta.core.utils
  import fiftyone.core.plots
  import fiftyone.utils.iou
  from .detection import DetectionEvaluation, DetectionEvaluationConfig, DetectionResults
label_desc: Use image node_id 2 for calling the ActivityNetEvaluation obj's underlying member method code with example usage: obj.evaluate(sample, eval_key) and returns: _activitynet_evaluation_single_iou