kandinsky6_sr ¶
Arch config of the Kandinsky6 video super-resolution (SR) DiT.
Fields mirror transformer/config.json of the official Kandinsky6SRTransformer3DModel bundles, including the nested sr_params (sampling parameters of the SR training setup). out_visual_dim is the full head width: the flow-matching checkpoint predicts in_visual_dim channels, the pi-Flow checkpoint n_grid * in_visual_dim (n_grid lives in its PiflowScheduler config). update_model_arch drops undeclared keys, so configurations the port does not implement are rejected by name instead of silently running a different model.
Classes¶
fastvideo.configs.models.dits.kandinsky6_sr.Kandinsky6SRArchConfig dataclass ¶
Kandinsky6SRArchConfig(stacked_params_mapping: list[tuple[str, str, str]] = list(), _fsdp_shard_conditions: list = (lambda: [_is_sr_visual_block])(), _compile_conditions: list = list(), param_names_mapping: dict = (lambda: {'^(time_embeddings)\\.timestep_embedder\\.linear_1\\.(weight|bias)$': '\\1.in_layer.\\2', '^(time_embeddings)\\.timestep_embedder\\.linear_2\\.(weight|bias)$': '\\1.out_layer.\\2', '^(.*feed_forward)\\.net\\.0\\.proj\\.(weight|bias)$': '\\1.mlp.fc_in.\\2', '^(.*feed_forward)\\.net\\.2\\.(weight|bias)$': '\\1.mlp.fc_out.\\2'})(), reverse_param_names_mapping: dict = (lambda: {})(), lora_param_names_mapping: dict = dict(), cast_prompt_embeds_to_dit_dtype: bool = False, _supported_attention_backends: tuple[AttentionBackendEnum, ...] = (FLASH_ATTN, TORCH_SDPA), hidden_size: int = 0, num_attention_heads: int = 0, num_channels_latents: int = 0, in_channels: int = 0, out_channels: int = 0, exclude_lora_layers: list[str] = list(), boundary_ratio: float | None = None, in_visual_dim: int = 64, out_visual_dim: int = 64, time_dim: int = 512, patch_size: tuple[int, int, int] = (1, 1, 1), model_dim: int = 1792, ff_dim: int = 7168, num_visual_blocks: int = 32, axes_dims: tuple[int, int, int] = (16, 24, 24), visual_cond: bool = True, instruct_type: str = 'hybrid_anchor', attention_params: dict | None = None, use_text: bool = False, in_text_dim: int = 3584, in_text_dim2: int = 768, num_text_blocks: int = 2, attribute_overrides: dict | None = None, sr_params: dict = dict(), scale_factor: tuple[float, float, float] | None = None, nabla_threshold: float | None = None, nabla_window: tuple[int, int, int] | None = None, tile_sizes: tuple[tuple[int, int], ...] | None = None)