Skip to content
FastVideo
Esc
↑↓navigate↵open⌘Jpreview
On this page

extractors

Pluggable video feature extractors for FVD.

Three extractors, sharing the _BaseExtractor contract:

  • i3d — Kinetics-400 I3D (TorchScript, flateon/FVD-I3D-torchscript). The standard FVD feature space used in the literature.
  • clip — CLIP ViT-B/32 per-frame embeddings, mean-pooled over time. Captures semantic / content quality.
  • videomae — VideoMAE-base last-hidden-state, mean-pooled over patch tokens. Captures structural / motion quality.

The contract is intentionally narrow: each extractor takes a (B, T, C, H, W) float tensor in [0, 1] and returns (B, D) numpy features. Preprocessing (resize, normalize, layout) is the extractor's job; its callers should not care.

fastvideo.eval.metrics.common.fvd.extractors.available_extractors

available_extractors() -> list[str]
Source
def available_extractors() -> list[str]:
    return sorted(_EXTRACTORS.keys())

fastvideo.eval.metrics.common.fvd.extractors.load_extractor

load_extractor(name: str, device: torch.device) -> _BaseExtractor

Instantiate the named extractor on device. Raises ValueError on unknown names.

Source
def load_extractor(name: str, device: torch.device) -> _BaseExtractor:
    """Instantiate the named extractor on *device*. Raises ``ValueError`` on unknown names."""
    cls = _EXTRACTORS.get(name)
    if cls is None:
        raise ValueError(f"Unknown FVD extractor '{name}'. Available: {available_extractors()}")
    return cls(device)

Was this page helpful?