Skip to content

dreamx_world

Classes

fastvideo.configs.models.dits.dreamx_world.DreamXWorldARArchConfig dataclass

DreamXWorldARArchConfig(stacked_params_mapping: list[tuple[str, str, str]] = list(), _fsdp_shard_conditions: list = (lambda: [is_blocks])(), _compile_conditions: list = list(), param_names_mapping: dict = (lambda: {'^patch_embedding\\.(.*)$': 'patch_embedding.\\1', '^text_embedding\\.([02])\\.(.*)$': 'text_embedding.\\1.\\2', '^time_embedding\\.([02])\\.(.*)$': 'time_embedding.\\1.\\2', '^time_projection\\.1\\.(.*)$': 'time_projection.1.\\1', '^blocks\\.(\\d+)\\.self_attn\\.(q|k|v|o)\\.(.*)$': 'blocks.\\1.self_attn.\\2.\\3', '^blocks\\.(\\d+)\\.self_attn\\.norm_(q|k)\\.weight$': 'blocks.\\1.self_attn.norm_\\2.weight', '^blocks\\.(\\d+)\\.cross_attn\\.(q|k|v|o)\\.(.*)$': 'blocks.\\1.cross_attn.\\2.\\3', '^blocks\\.(\\d+)\\.cross_attn\\.norm_(q|k)\\.weight$': 'blocks.\\1.cross_attn.norm_\\2.weight', '^blocks\\.(\\d+)\\.cam_self_attn\\.(q_proj|k_proj|v_proj|out_proj)\\.(.*)$': 'blocks.\\1.cam_self_attn.\\2.\\3', '^blocks\\.(\\d+)\\.cam_self_attn\\.norm_(q|k)\\.weight$': 'blocks.\\1.cam_self_attn.norm_\\2.weight', '^blocks\\.(\\d+)\\.norm3\\.(.*)$': 'blocks.\\1.norm3.\\2', '^blocks\\.(\\d+)\\.ffn\\.([02])\\.(.*)$': 'blocks.\\1.ffn.\\2.\\3', '^blocks\\.(\\d+)\\.modulation$': 'blocks.\\1.modulation', '^head\\.head\\.(.*)$': 'head.head.\\1', '^head\\.modulation$': 'head.modulation'})(), reverse_param_names_mapping: dict = dict(), lora_param_names_mapping: dict = dict(), cast_prompt_embeds_to_dit_dtype: bool = False, _supported_attention_backends: tuple[AttentionBackendEnum, ...] = (SAGE_ATTN, FLASH_ATTN, TORCH_SDPA, VIDEO_SPARSE_ATTN, VMOBA_ATTN, SAGE_ATTN_THREE, ATTN_QAT_INFER, ATTN_QAT_TRAIN, SLA_ATTN, SAGE_SLA_ATTN), hidden_size: int = 0, num_attention_heads: int = 40, num_channels_latents: int = 0, in_channels: int = 16, out_channels: int = 16, exclude_lora_layers: list[str] = (lambda: ['embedder'])(), boundary_ratio: float | None = None, patch_size: tuple[int, int, int] = (1, 2, 2), attention_head_dim: int = 128, text_dim: int = 4096, freq_dim: int = 256, ffn_dim: int = 13824, num_layers: int = 40, cross_attn_norm: bool = True, qk_norm: str = 'rms_norm_across_heads', eps: float = 1e-06, image_dim: int | None = None, added_kv_proj_dim: int | None = None, rope_max_seq_len: int = 1024, pos_embed_seq_len: int | None = None, local_attn_size: int = 12, sink_size: int = 3, num_frames_per_block: int = 3, sliding_window_num_frames: int = 21, rope_cache_policy: str = 'block_relativistic', r_embedder: bool = False, r_embedder_fusion: Literal['additive', 'gated'] = 'additive', r_embedder_gate_value: float = 0.25, r_embedder_deltatime_type: Literal['r', 't-r'] = 'r', add_control_adapter: bool = True, cam_method: str | None = 'prope', attn_compress: int = 4, cam_self_attn_layers: tuple[int, ...] | None = tuple(range(30)), model_type: str = 'ti2v', text_len: int = 512)

Bases: DreamXWorldArchConfig

DreamX-World-5B autoregressive causal DiT config.

fastvideo.configs.models.dits.dreamx_world.DreamXWorldArchConfig dataclass

DreamXWorldArchConfig(stacked_params_mapping: list[tuple[str, str, str]] = list(), _fsdp_shard_conditions: list = (lambda: [is_blocks])(), _compile_conditions: list = list(), param_names_mapping: dict = (lambda: {'^patch_embedding\\.(.*)$': 'patch_embedding.proj.\\1', '^condition_embedder\\.text_embedder\\.linear_1\\.(.*)$': 'condition_embedder.text_embedder.fc_in.\\1', '^condition_embedder\\.text_embedder\\.linear_2\\.(.*)$': 'condition_embedder.text_embedder.fc_out.\\1', '^condition_embedder\\.time_embedder\\.linear_1\\.(.*)$': 'condition_embedder.time_embedder.mlp.fc_in.\\1', '^condition_embedder\\.time_embedder\\.linear_2\\.(.*)$': 'condition_embedder.time_embedder.mlp.fc_out.\\1', '^condition_embedder\\.delta_embedder\\.linear_1\\.(.*)$': 'condition_embedder.delta_embedder.mlp.fc_in.\\1', '^condition_embedder\\.delta_embedder\\.linear_2\\.(.*)$': 'condition_embedder.delta_embedder.mlp.fc_out.\\1', '^condition_embedder\\.time_proj\\.(.*)$': 'condition_embedder.time_modulation.linear.\\1', '^condition_embedder\\.image_embedder\\.ff\\.net\\.0\\.proj\\.(.*)$': 'condition_embedder.image_embedder.ff.fc_in.\\1', '^condition_embedder\\.image_embedder\\.ff\\.net\\.2\\.(.*)$': 'condition_embedder.image_embedder.ff.fc_out.\\1', '^blocks\\.(\\d+)\\.attn1\\.to_q\\.(.*)$': 'blocks.\\1.to_q.\\2', '^blocks\\.(\\d+)\\.attn1\\.to_k\\.(.*)$': 'blocks.\\1.to_k.\\2', '^blocks\\.(\\d+)\\.attn1\\.to_v\\.(.*)$': 'blocks.\\1.to_v.\\2', '^blocks\\.(\\d+)\\.attn1\\.to_out\\.0\\.(.*)$': 'blocks.\\1.to_out.\\2', '^blocks\\.(\\d+)\\.attn1\\.norm_q\\.(.*)$': 'blocks.\\1.norm_q.\\2', '^blocks\\.(\\d+)\\.attn1\\.norm_k\\.(.*)$': 'blocks.\\1.norm_k.\\2', '^blocks\\.(\\d+)\\.attn2\\.to_out\\.0\\.(.*)$': 'blocks.\\1.attn2.to_out.\\2', '^blocks\\.(\\d+)\\.ffn\\.net\\.0\\.proj\\.(.*)$': 'blocks.\\1.ffn.fc_in.\\2', '^blocks\\.(\\d+)\\.ffn\\.net\\.2\\.(.*)$': 'blocks.\\1.ffn.fc_out.\\2', '^blocks\\.(\\d+)\\.norm2\\.(.*)$': 'blocks.\\1.self_attn_residual_norm.norm.\\2'})(), reverse_param_names_mapping: dict = (lambda: {})(), lora_param_names_mapping: dict = (lambda: {'^blocks\\.(\\d+)\\.self_attn\\.q\\.(.*)$': 'blocks.\\1.attn1.to_q.\\2', '^blocks\\.(\\d+)\\.self_attn\\.k\\.(.*)$': 'blocks.\\1.attn1.to_k.\\2', '^blocks\\.(\\d+)\\.self_attn\\.v\\.(.*)$': 'blocks.\\1.attn1.to_v.\\2', '^blocks\\.(\\d+)\\.self_attn\\.o\\.(.*)$': 'blocks.\\1.attn1.to_out.0.\\2', '^blocks\\.(\\d+)\\.cross_attn\\.q\\.(.*)$': 'blocks.\\1.attn2.to_q.\\2', '^blocks\\.(\\d+)\\.cross_attn\\.k\\.(.*)$': 'blocks.\\1.attn2.to_k.\\2', '^blocks\\.(\\d+)\\.cross_attn\\.v\\.(.*)$': 'blocks.\\1.attn2.to_v.\\2', '^blocks\\.(\\d+)\\.cross_attn\\.o\\.(.*)$': 'blocks.\\1.attn2.to_out.0.\\2', '^blocks\\.(\\d+)\\.ffn\\.0\\.(.*)$': 'blocks.\\1.ffn.fc_in.\\2', '^blocks\\.(\\d+)\\.ffn\\.2\\.(.*)$': 'blocks.\\1.ffn.fc_out.\\2'})(), cast_prompt_embeds_to_dit_dtype: bool = False, _supported_attention_backends: tuple[AttentionBackendEnum, ...] = (SAGE_ATTN, FLASH_ATTN, TORCH_SDPA, VIDEO_SPARSE_ATTN, VMOBA_ATTN, SAGE_ATTN_THREE, ATTN_QAT_INFER, ATTN_QAT_TRAIN, SLA_ATTN, SAGE_SLA_ATTN), hidden_size: int = 0, num_attention_heads: int = 40, num_channels_latents: int = 0, in_channels: int = 16, out_channels: int = 16, exclude_lora_layers: list[str] = (lambda: ['embedder'])(), boundary_ratio: float | None = None, patch_size: tuple[int, int, int] = (1, 2, 2), attention_head_dim: int = 128, text_dim: int = 4096, freq_dim: int = 256, ffn_dim: int = 13824, num_layers: int = 40, cross_attn_norm: bool = True, qk_norm: str = 'rms_norm_across_heads', eps: float = 1e-06, image_dim: int | None = None, added_kv_proj_dim: int | None = None, rope_max_seq_len: int = 1024, pos_embed_seq_len: int | None = None, local_attn_size: int = -1, sink_size: int = 0, num_frames_per_block: int = 3, sliding_window_num_frames: int = 21, rope_cache_policy: str = 'absolute', r_embedder: bool = False, r_embedder_fusion: Literal['additive', 'gated'] = 'additive', r_embedder_gate_value: float = 0.25, r_embedder_deltatime_type: Literal['r', 't-r'] = 'r', add_control_adapter: bool = True, cam_method: str | None = 'prope', attn_compress: int = 1, cam_self_attn_layers: tuple[int, ...] | None = None)

Bases: WanVideoArchConfig

DreamX-World DiT config with camera PRoPE control fields.