Skip to content

types

Classes

fastvideo.eval.types.EvalResults

EvalResults(samples: list[dict[str, MetricResult]] | None = None, corpus: dict[str, MetricResult] | None = None)

Bases: list

Return type for :meth:Evaluator.evaluate with samples=....

Behaves like a list[dict[str, MetricResult]] — one dict per input sample, in input order — so existing iteration and indexing keeps working. The corpus attribute carries set-metric results (FAD, IS, …) that are properties of the whole input set, not of any individual sample. Empty dict when no set metric ran.

Source code in fastvideo/eval/types.py
def __init__(
    self,
    samples: list[dict[str, MetricResult]] | None = None,
    corpus: dict[str, MetricResult] | None = None,
) -> None:
    super().__init__(samples or [])
    self.corpus: dict[str, MetricResult] = corpus or {}

fastvideo.eval.types.MetricResult dataclass

MetricResult(name: str, score: float | None, details: dict[str, Any] = dict())

Standard result container returned by all metrics.

score is None when the metric was skipped (e.g. missing required input). Check details["skipped"] for the reason.

fastvideo.eval.types.Video dataclass

Video(source: Any, fps: float | None = None, frames: Any = None, audio: Any = None, audio_sr: int | None = None)

Path-backed media handle. The :class:VideoPool populates frames (and optionally audio) before the metric loop sees the sample.