---
title: datasets
---

<div class="python-reference">
<a id="fastvideo.eval.datasets-classes"></a>
<a id="fastvideo.eval.datasets-functions"></a>
<a id="fastvideo.eval.datasets.PromptDataset-functions"></a>
<a id="fastvideo.eval.datasets"></a>
<p>Prompt-corpus datasets for end-to-end benchmark evaluation.</p>
<p>Public API mirrors :mod:<code>fastvideo.eval</code> (metrics side):</p>
<pre><code>from fastvideo.eval.datasets import (
    PromptDataset, Sample,
    register_dataset, get_dataset, list_datasets,
)
</code></pre>
<p>A dataset is an iterable of plain dicts (one per sample). Built-in
datasets self-register at import time. To add one, drop a module into
this package that subclasses :class:<code>PromptDataset</code> and decorates with
<code>@register_dataset("name")</code> — auto-discovery picks it up.</p>
<h2 id="fastvideo.eval.datasets.PromptDataset"><code>fastvideo.eval.datasets.PromptDataset</code></h2>
<pre class="doc-signature"><code>PromptDataset()</code></pre>
<p>Iterable corpus of sample dicts. Subclasses populate <code>self._rows</code>.</p>

<h3 id="fastvideo.eval.datasets.PromptDataset.by_dimension"><code>fastvideo.eval.datasets.PromptDataset.by_dimension</code></h3>
<pre class="doc-signature"><code>by_dimension() -&gt; dict&#91;str, list&#91;dict&#93;&#93;</code></pre>
<p>Group samples by dimension. A multi-dim sample appears under each.</p>
<h2 id="fastvideo.eval.datasets.Sample"><code>fastvideo.eval.datasets.Sample</code></h2>
<pre class="doc-signature"><code>Sample()</code></pre>
<p>Documented schema for a row yielded by :class:<code>PromptDataset</code>.</p>
<p>Only <code>prompt</code> is required. Extra keys beyond these are forwarded to
the runner's eval-kwargs builder verbatim, so action-conditioned or
audio-bearing benchmarks can add their own fields without changing
the base class.</p>
<h2 id="fastvideo.eval.datasets.get_dataset"><code>fastvideo.eval.datasets.get_dataset</code></h2>
<pre class="doc-signature"><code>get_dataset(name: str, **kwargs: Any) -&gt; BasePromptDataset</code></pre>
<p>Instantiate a registered dataset by name.</p>
<h2 id="fastvideo.eval.datasets.list_datasets"><code>fastvideo.eval.datasets.list_datasets</code></h2>
<pre class="doc-signature"><code>list_datasets() -&gt; list&#91;str&#93;</code></pre>
<p>Return sorted list of all registered dataset names.</p>
<h2 id="fastvideo.eval.datasets.register_dataset"><code>fastvideo.eval.datasets.register_dataset</code></h2>
<pre class="doc-signature"><code>register_dataset(name: str)</code></pre>
<p>Decorator to register a prompt-dataset class.</p>
<p>Usage::</p>
<pre><code>@register_dataset("vbench")
class VBenchPromptDataset(BasePromptDataset):
    ...
</code></pre>
<h2 id="fastvideo.eval.datasets.VBenchPromptDataset"><code>fastvideo.eval.datasets.VBenchPromptDataset</code></h2>
<pre class="doc-signature"><code>VBenchPromptDataset(dimensions: list&#91;str&#93; | str = &#x27;all&#x27;, full_info_path: str | Path | None = None)</code></pre>
<p>VBench prompts filtered by evaluation dimension.</p>
<h3>Parameters</h3>
<dl>
<dt><code>dimensions: list[str] | str</code></dt><dd><p>List of dimension names, or <code>"all"</code>. Unknown
dimensions raise <code>ValueError</code>.</p></dd>
<dt><code>full_info_path: str | Path | None</code></dt><dd><p>Optional override for <code>VBench_full_info.json</code>;
defaults to autodetection.</p></dd>
</dl>
<p>A prompt that belongs to several requested dimensions is yielded once;
its <code>dimensions</code> list carries all matches so the scorer can route.</p>

</div>

<h2>Submodules</h2>
<ul>
<li><a href="/FastVideo/api/fastvideo/eval/datasets/base">base</a></li>
<li><a href="/FastVideo/api/fastvideo/eval/datasets/physics_iq">physics_iq</a></li>
<li><a href="/FastVideo/api/fastvideo/eval/datasets/registry">registry</a></li>
<li><a href="/FastVideo/api/fastvideo/eval/datasets/vbench">vbench</a></li>
</ul>
