Files
2026-10-07 06:13:43 -07:00

64 lines
1.9 KiB
Python

# SPDX-License-Identifier: Apache-2.0
from __future__ import annotations
from typing import Any, TYPE_CHECKING
if TYPE_CHECKING:
from fastvideo.train.utils.training_config import (
DataConfig, )
def build_parquet_t2v_train_dataloader(
data_config: DataConfig,
*,
text_len: int,
parquet_schema: Any,
cfg_rate: float | None = None,
) -> Any:
"""Build a parquet dataloader for T2V-style datasets.
``cfg_rate`` overrides ``data_config.training_cfg_rate`` for models
that perform CFG dropout themselves (e.g. LTX2Model swaps in the
unconditional embedding in ``prepare_batch``); pass 0.0 to keep the
collate's zeroing drop off so the two drops do not stack.
"""
from fastvideo.dataset import (
build_parquet_map_style_dataloader, )
_dataset, dataloader = (build_parquet_map_style_dataloader(
data_config.data_path,
data_config.train_batch_size,
num_data_workers=(data_config.dataloader_num_workers),
parquet_schema=parquet_schema,
cfg_rate=(float(data_config.training_cfg_rate or 0.0) if cfg_rate is None else float(cfg_rate)),
drop_last=True,
text_padding_length=int(text_len),
seed=int(data_config.seed or 0),
))
return dataloader
def build_parquet_matrixgame2_train_dataloader(
data_config: DataConfig,
*,
parquet_schema: Any,
) -> Any:
"""Build a parquet dataloader for Matrix-Game 2.0 datasets."""
from fastvideo.dataset import (
build_parquet_map_style_dataloader, )
_dataset, dataloader = (build_parquet_map_style_dataloader(
data_config.data_path,
data_config.train_batch_size,
num_data_workers=(data_config.dataloader_num_workers),
parquet_schema=parquet_schema,
cfg_rate=float(data_config.training_cfg_rate or 0.0),
drop_last=True,
text_padding_length=512,
seed=int(data_config.seed or 0),
))
return dataloader