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

tfsft

Teacher-forcing SFT method (TFSFT; algorithm layer).

fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod

DiffusionForcingSFTMethod(*, cfg: Any, role_models: dict[str, ModelBase])

Diffusion-forcing SFT (DFSFT): train only student with inhomogeneous timesteps.

fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod.single_train_step

single_train_step(batch: dict[str, Any], iteration: int) -> tuple[dict[str, torch.Tensor], dict[str, Any], dict[str, LogScalar]]

fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod.backward

backward(loss_map: dict[str, torch.Tensor], outputs: dict[str, Any], *, grad_accum_rounds: int = 1) -> None

fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod.get_optimizers

get_optimizers(iteration: int) -> list[torch.optim.Optimizer]

fastvideo.train.methods.fine_tuning.tfsft.DiffusionForcingSFTMethod.get_lr_schedulers

get_lr_schedulers(iteration: int) -> list[Any]

fastvideo.train.methods.fine_tuning.tfsft.TeacherForcingSFTMethod

TeacherForcingSFTMethod(*, cfg: Any, role_models: dict[str, ModelBase])
Source
class TeacherForcingSFTMethod(DiffusionForcingSFTMethod):
def _predict_noise(
    self,
    noisy_latents: torch.Tensor,
    timestep: torch.Tensor,
    training_batch: Any,
    clean_latents: torch.Tensor,
) -> 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>

Was this page helpful?