---
title: t5_hf
---

<div class="python-reference">
<a id="fastvideo.models.encoders.t5_hf-classes"></a>
<a id="fastvideo.models.encoders.t5_hf"></a>

<h2 id="fastvideo.models.encoders.t5_hf.BaseEncoderOutput"><code>fastvideo.models.encoders.t5_hf.BaseEncoderOutput</code></h2>
<pre class="doc-signature"><code>BaseEncoderOutput(last_hidden_state: torch.FloatTensor | None = None, pooler_output: torch.FloatTensor | None = None, hidden_states: tuple&#91;torch.FloatTensor, ...&#93; | None = None, attentions: tuple&#91;torch.FloatTensor, ...&#93; | None = None, attention_mask: torch.Tensor | None = None)</code></pre>


<h2 id="fastvideo.models.encoders.t5_hf.T5Config"><code>fastvideo.models.encoders.t5_hf.T5Config</code></h2>
<pre class="doc-signature"><code>T5Config(arch_config: TextEncoderArchConfig = T5ArchConfig(), prefix: str = &#x27;t5&#x27;, quant_config: QuantizationConfig | None = None, lora_config: Any | None = None, is_chat_model: bool = False, treat_empty_as_dot: bool = False, *, _resolved_attention_backend: AttentionBackendEnum | None = None, chat_template_enable_thinking: bool = False)</code></pre>


<h2 id="fastvideo.models.encoders.t5_hf.TextEncoder"><code>fastvideo.models.encoders.t5_hf.TextEncoder</code></h2>
<pre class="doc-signature"><code>TextEncoder(config: TextEncoderConfig)</code></pre>
<p>Base for native encoders with a model-specific forward output contract.</p>

<h3 id="fastvideo.models.encoders.t5_hf.TextEncoder.forward"><code>fastvideo.models.encoders.t5_hf.TextEncoder.forward</code></h3>
<pre class="doc-signature"><code>forward(*args: Any, **kwargs: Any) -&gt; TextEncoderOutputT</code></pre>

<h2 id="fastvideo.models.encoders.t5_hf.T5EncoderModel"><code>fastvideo.models.encoders.t5_hf.T5EncoderModel</code></h2>
<pre class="doc-signature"><code>T5EncoderModel(config: T5Config, hf_model: Any | None = None)</code></pre>


<details><summary>Source</summary><pre><code>class T5EncoderModel(TextEncoder):

    supports_hf_from_pretrained: bool = True

    def __init__(self, config: T5Config, hf_model: Any | None = None) -&gt; None:
        super().__init__(config)
        self.hf_model = hf_model

    @classmethod
    def from_pretrained_local(
        cls,
        model_path: str,
        config: T5Config,
        *,
        dtype: torch.dtype,
        device: torch.device,
    ) -&gt; &quot;T5EncoderModel&quot;:
        from transformers import T5EncoderModel as HFT5EncoderModel

        kwargs = &#123;
            &quot;local_files_only&quot;: True,
            &quot;low_cpu_mem_usage&quot;: True,
        &#125;
        try:
            hf = HFT5EncoderModel.from_pretrained(model_path, dtype=dtype, **kwargs)
        except TypeError:
            # Backward-compatible fallback for older Transformers versions.
            hf = HFT5EncoderModel.from_pretrained(model_path, torch_dtype=dtype, **kwargs)

        hf = hf.eval().to(device=device, dtype=dtype)
        return cls(config=config, hf_model=hf).eval()

    def forward(
        self,
        input_ids: torch.Tensor | None,
        position_ids: torch.Tensor | None = None,
        attention_mask: torch.Tensor | None = None,
        inputs_embeds: torch.Tensor | None = None,
        output_hidden_states: bool | None = None,
        **kwargs,
    ) -&gt; BaseEncoderOutput:
        if self.hf_model is None:
            raise RuntimeError(&quot;T5EncoderModel(HF) is not initialized. Use &quot;
                               &quot;`from_pretrained_local(...)` to construct a loaded instance.&quot;)

        out = self.hf_model(
            input_ids=input_ids,
            attention_mask=attention_mask,
            inputs_embeds=inputs_embeds,
            output_hidden_states=bool(output_hidden_states) if output_hidden_states is not None else False,
            return_dict=True,
        )
        return BaseEncoderOutput(
            last_hidden_state=out.last_hidden_state,
            hidden_states=out.hidden_states if output_hidden_states else None,
            attention_mask=attention_mask,
        )</code></pre></details>
<h3 id="fastvideo.models.encoders.t5_hf.T5EncoderModel.from_pretrained_local"><code>fastvideo.models.encoders.t5_hf.T5EncoderModel.from_pretrained_local</code></h3>
<pre class="doc-signature"><code>from_pretrained_local(model_path: str, config: T5Config, *, dtype: torch.dtype, device: torch.device) -&gt; &#x27;T5EncoderModel&#x27;</code></pre>

<details><summary>Source</summary><pre><code>@classmethod
def from_pretrained_local(
    cls,
    model_path: str,
    config: T5Config,
    *,
    dtype: torch.dtype,
    device: torch.device,
) -&gt; &quot;T5EncoderModel&quot;:
    from transformers import T5EncoderModel as HFT5EncoderModel

    kwargs = &#123;
        &quot;local_files_only&quot;: True,
        &quot;low_cpu_mem_usage&quot;: True,
    &#125;
    try:
        hf = HFT5EncoderModel.from_pretrained(model_path, dtype=dtype, **kwargs)
    except TypeError:
        # Backward-compatible fallback for older Transformers versions.
        hf = HFT5EncoderModel.from_pretrained(model_path, torch_dtype=dtype, **kwargs)

    hf = hf.eval().to(device=device, dtype=dtype)
    return cls(config=config, hf_model=hf).eval()</code></pre></details>
<h3 id="fastvideo.models.encoders.t5_hf.T5EncoderModel.forward"><code>fastvideo.models.encoders.t5_hf.T5EncoderModel.forward</code></h3>
<pre class="doc-signature"><code>forward(input_ids: torch.Tensor | None, position_ids: torch.Tensor | None = None, attention_mask: torch.Tensor | None = None, inputs_embeds: torch.Tensor | None = None, output_hidden_states: bool | None = None, **kwargs) -&gt; BaseEncoderOutput</code></pre>

<details><summary>Source</summary><pre><code>def forward(
    self,
    input_ids: torch.Tensor | None,
    position_ids: torch.Tensor | None = None,
    attention_mask: torch.Tensor | None = None,
    inputs_embeds: torch.Tensor | None = None,
    output_hidden_states: bool | None = None,
    **kwargs,
) -&gt; BaseEncoderOutput:
    if self.hf_model is None:
        raise RuntimeError(&quot;T5EncoderModel(HF) is not initialized. Use &quot;
                           &quot;`from_pretrained_local(...)` to construct a loaded instance.&quot;)

    out = self.hf_model(
        input_ids=input_ids,
        attention_mask=attention_mask,
        inputs_embeds=inputs_embeds,
        output_hidden_states=bool(output_hidden_states) if output_hidden_states is not None else False,
        return_dict=True,
    )
    return BaseEncoderOutput(
        last_hidden_state=out.last_hidden_state,
        hidden_states=out.hidden_states if output_hidden_states else None,
        attention_mask=attention_mask,
    )</code></pre></details>
</div>
