---
title: tfsft
---

<div class="python-reference">
<a id="fastvideo.train.methods.fine_tuning.tfsft-classes"></a>
<a id="fastvideo.train.methods.fine_tuning.tfsft"></a>
<p>Teacher-forcing SFT method (TFSFT; algorithm layer).</p>
<h2 id="fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod"><code>fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod</code></h2>
<pre class="doc-signature"><code>DiffusionForcingSFTMethod(*, cfg: Any, role_models: dict&#91;str, ModelBase&#93;)</code></pre>
<p>Diffusion-forcing SFT (DFSFT): train only <code>student</code>
with inhomogeneous timesteps.</p>

<h3 id="fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod.single_train_step"><code>fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod.single_train_step</code></h3>
<pre class="doc-signature"><code>single_train_step(batch: dict&#91;str, Any&#93;, iteration: int) -&gt; tuple&#91;dict&#91;str, torch.Tensor&#93;, dict&#91;str, Any&#93;, dict&#91;str, LogScalar&#93;&#93;</code></pre>

<h3 id="fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod.backward"><code>fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod.backward</code></h3>
<pre class="doc-signature"><code>backward(loss_map: dict&#91;str, torch.Tensor&#93;, outputs: dict&#91;str, Any&#93;, *, grad_accum_rounds: int = 1) -&gt; None</code></pre>

<h3 id="fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod.get_optimizers"><code>fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod.get_optimizers</code></h3>
<pre class="doc-signature"><code>get_optimizers(iteration: int) -&gt; list&#91;torch.optim.Optimizer&#93;</code></pre>

<h3 id="fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod.get_lr_schedulers"><code>fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod.get_lr_schedulers</code></h3>
<pre class="doc-signature"><code>get_lr_schedulers(iteration: int) -&gt; list&#91;Any&#93;</code></pre>

<h2 id="fastvideo.train.methods.fine_tuning.tfsft.TeacherForcingSFTMethod"><code>fastvideo.train.methods.fine_tuning.tfsft.TeacherForcingSFTMethod</code></h2>
<pre class="doc-signature"><code>TeacherForcingSFTMethod(*, cfg: Any, role_models: dict&#91;str, ModelBase&#93;)</code></pre>

<details><summary>Source</summary><pre><code>class TeacherForcingSFTMethod(DiffusionForcingSFTMethod):

    def _predict_noise(
        self,
        noisy_latents: torch.Tensor,
        timestep: torch.Tensor,
        training_batch: Any,
        clean_latents: torch.Tensor,
    ) -&gt; torch.Tensor:
        return self.student.predict_noise(
            noisy_latents,
            timestep,
            training_batch,
            conditional=True,
            attn_kind=self._attn_kind,
            clean_x=clean_latents,
        )</code></pre></details>
</div>
