mstar.model.cosmos3.config#
Configuration for the Cosmos3 omni generator.
A single Cosmos3Config describes every Cosmos3 checkpoint (Nano, Super,
Edge, the Policy-DROID fine-tunes and the Super task variants). The
checkpoints share one dual-pathway MoT architecture; they differ in the
transformer dimensions (num_hidden_layers / hidden_size /
num_attention_heads / intermediate_size), the two capability flags
(sound_gen, action_gen) and, for Edge, the backbone family: a dense
Nemotron text tower (hidden_act="relu2", Nemotron RMSNorm ordering, no
text QK-norm, a k_norm_und_for_gen on the understanding K the generation
tower reads) instead of Nano’s Qwen3-VL one.
Edge checkpoints also carry the reasoner (the understanding tower served as a
VLM): a top-level config.json with the SigLIP2-style vision tower and
patch-merger projector, plus vision_encoder/model.safetensors. That is
parsed into Cosmos3Config.reasoner (None for checkpoints without it).
Values load from a local HF checkpoint directory laid out the diffusers way:
<ckpt>/transformer/config.json -> the DiT (dual-pathway MoT) dimensions
<ckpt>/vae/config.json -> AutoencoderKLWan factors + latent stats
<ckpt>/scheduler/scheduler_config.json -> UniPC flow scheduler settings (or the
distilled checkpoints' FlowMatchEuler SDE sampler)
<ckpt>/model_index.json -> pipeline flags (native flow schedule)
<ckpt>/modular_model_index.json -> distilled sampler (is_distilled, distilled_sigmas)
<ckpt>/config.json -> reasoner (vision tower + projector), Edge only
<ckpt>/preprocessor_config.json, video_preprocessor_config.json -> reasoner media processors
Dataclass defaults mirror Cosmos3-Nano so a bare Cosmos3Config() is a
valid Nano config without any file present.
Classes
|
Cosmos3 generator configuration (one architecture, swappable weights). |
|
Resize/normalize/patchify settings of the reasoner's image and video processors ( |
|
Everything the understanding tower needs beyond the DiT weights to be served as a VLM (the Edge |
|
Flow scheduler settings ( |
|
The Wan2.2-TI2V-5B VAE ( |
|
The reasoner's packed SigLIP2-style vision tower ( |
- class mstar.model.cosmos3.config.Cosmos3Config(hidden_size=4096, num_hidden_layers=36, num_attention_heads=32, num_key_value_heads=8, head_dim=128, intermediate_size=12288, vocab_size=151936, rms_norm_eps=1e-06, attention_bias=False, max_position_embeddings=262144, rope_theta=5000000.0, rope_axes_dim=(24, 20, 20), mrope_interleaved=True, unified_3d_mrope_temporal_modality_margin=15000, unified_3d_mrope_reset_spatial_ids=True, base_fps=24, enable_fps_modulation=True, latent_channel=48, latent_patch_size=2, patch_latent_dim=192, timestep_scale=0.001, joint_attn_implementation='two_way', qk_norm_for_diffusion=True, qk_norm_for_text=True, use_moe=True, hidden_act='silu', backbone_type=None, use_und_k_norm_for_gen=False, action_gen=True, max_action_dim=64, num_embodiment_domains=32, sound_gen=True, sound_dim=64, sound_latent_fps=25.0, temporal_compression_factor_sound=1, sound_sample_rate=48000, enable_sound=True, enable_windowed_video=False, max_windows=64, window_frames_default=29, overlap_frames_default=8, kv_window_frames_default=29, context_frames_default=61, windowed_decode_context_latents=8, windowed_decode_warm_cache=True, windowed_decode_max_warm_streams=0, windowed_decode_latents_per_call=1, vae_decode_channels_last=True, vae_decode_cudnn_benchmark=False, session_store_size=8, session_timeout_s=600.0, session_timeout_max_s=3600.0, video_temporal_causal=False, freeze_und=False, num_inference_steps=50, num_inference_steps_video=35, max_inference_steps=100, fps=24.0, num_frames_video=17, num_inference_steps_action=30, guidance_scale_action=1.0, flow_shift_action=5.0, image_size_default=(1024, 1024), video_size_default=None, guidance_scale=6.0, flow_shift_image=3.0, flow_shift_video=None, conditioning_resize='aspect_crop', use_native_flow_schedule=False, is_distilled=False, distilled_sigmas=None, accelerator_graph=True, graph_max_latent_area=2000, gen_capture_video=(), compile_denoise=True, compile_reasoner_decode=True, compile_reasoner_prefill=False, attention_backend='dense_gen', vae=<factory>, scheduler=<factory>, reasoner=None, enable_reasoner=True, reasoner_temperature=0.6, local_dir='')[source]#
Bases:
objectCosmos3 generator configuration (one architecture, swappable weights).
- Parameters:
hidden_size (int)
num_hidden_layers (int)
num_attention_heads (int)
num_key_value_heads (int)
head_dim (int)
intermediate_size (int)
vocab_size (int)
rms_norm_eps (float)
attention_bias (bool)
max_position_embeddings (int)
rope_theta (float)
mrope_interleaved (bool)
unified_3d_mrope_temporal_modality_margin (int)
unified_3d_mrope_reset_spatial_ids (bool)
base_fps (int)
enable_fps_modulation (bool)
latent_channel (int)
latent_patch_size (int)
patch_latent_dim (int)
timestep_scale (float)
joint_attn_implementation (str)
qk_norm_for_diffusion (bool)
qk_norm_for_text (bool)
use_moe (bool)
hidden_act (str)
backbone_type (str | None)
use_und_k_norm_for_gen (bool)
action_gen (bool)
max_action_dim (int)
num_embodiment_domains (int)
sound_gen (bool)
sound_dim (int | None)
sound_latent_fps (float)
temporal_compression_factor_sound (int)
sound_sample_rate (int)
enable_sound (bool)
enable_windowed_video (bool)
max_windows (int)
window_frames_default (int)
overlap_frames_default (int)
kv_window_frames_default (int)
context_frames_default (int)
windowed_decode_context_latents (int)
windowed_decode_warm_cache (bool)
windowed_decode_max_warm_streams (int)
windowed_decode_latents_per_call (int)
vae_decode_channels_last (bool)
vae_decode_cudnn_benchmark (bool)
session_store_size (int)
session_timeout_s (float)
session_timeout_max_s (float)
video_temporal_causal (bool)
freeze_und (bool)
num_inference_steps (int)
num_inference_steps_video (int)
max_inference_steps (int)
fps (float)
num_frames_video (int)
num_inference_steps_action (int)
guidance_scale_action (float)
flow_shift_action (float)
guidance_scale (float)
flow_shift_image (float | None)
flow_shift_video (float | None)
conditioning_resize (str)
use_native_flow_schedule (bool)
is_distilled (bool)
accelerator_graph (bool)
graph_max_latent_area (int)
compile_denoise (bool)
compile_reasoner_decode (bool)
compile_reasoner_prefill (bool)
attention_backend (str)
vae (Cosmos3VAEConfig)
scheduler (Cosmos3SchedulerConfig)
reasoner (Cosmos3ReasonerConfig | None)
enable_reasoner (bool)
reasoner_temperature (float)
local_dir (str)
- check_streaming_decode()[source]#
Reject streaming-decoder settings the decoder would otherwise reinterpret silently: a non-boolean switch (a yaml
"false"is truthy), a negative warm-stream cap (read as no cap), or more latents per call than the default window holds (read as one call per window).- Return type:
None
- classmethod from_pretrained(local_dir)[source]#
Load from a diffusers-layout checkpoint directory.
- Parameters:
- Return type:
- classmethod from_transformer_dict(d)[source]#
Build from a diffusers
transformer/config.jsondict alone.Sub-configs are left at their defaults; use
from_pretrainedto also populate VAE/scheduler from their sibling folders.- Parameters:
- Return type:
- property nemotron_norm: bool#
Whether every RMSNorm uses the Nemotron ordering (fp32 weight multiply, then one cast) — the dense relu2 backbone family.
- reasoner: Cosmos3ReasonerConfig | None = None#
- scheduler: Cosmos3SchedulerConfig#
- vae: Cosmos3VAEConfig#
- class mstar.model.cosmos3.config.Cosmos3MediaProcessorConfig(patch_size=16, merge_size=2, temporal_patch_size=1, min_pixels=65536, max_pixels=16777216, image_mean=(0.5, 0.5, 0.5), image_std=(0.5, 0.5, 0.5), fps=2.0, min_frames=4, max_frames=768)[source]#
Bases:
objectResize/normalize/patchify settings of the reasoner’s image and video processors (
preprocessor_config.json/video_preprocessor_config.json).An input is resized (bicubic, antialiased) so both sides are multiples of
patch_size * merge_sizeand the pixel count lands in[min_pixels, max_pixels], normalized withimage_mean/image_std, and cut intopatch_sizepatches in block-major 2x2 order. Video inputs are first sampled atfpsframes per second, clamped to[min_frames, max_frames].- Parameters:
- class mstar.model.cosmos3.config.Cosmos3ReasonerConfig(vision=<factory>, image_processor=<factory>, video_processor=<factory>, projector_input_hidden_size=1152, projector_hidden_size=11520, projector_out_hidden_size=2048, use_postshuffle_norm=False, image_token_id=19, video_token_id=18, vision_start_token_id=20, vision_end_token_id=21, eos_token_id=11, max_position_embeddings=131072, enable_thinking=True)[source]#
Bases:
objectEverything the understanding tower needs beyond the DiT weights to be served as a VLM (the Edge
config.json): the vision tower, the patch-merger projector (LayerNorm -> 2x2 merge -> Linear -> GELU -> Linearinto the text hidden size), the placeholder token ids, and the media processors. The text tower itself is the DiT’s understanding pathway (embed_tokens/layers.N.self_attn.to_*/mlp/norm/lm_head).- Parameters:
vision (Cosmos3VisionEncoderConfig)
image_processor (Cosmos3MediaProcessorConfig)
video_processor (Cosmos3MediaProcessorConfig)
projector_input_hidden_size (int)
projector_hidden_size (int)
projector_out_hidden_size (int)
use_postshuffle_norm (bool)
image_token_id (int)
video_token_id (int)
vision_start_token_id (int)
vision_end_token_id (int)
eos_token_id (int)
max_position_embeddings (int)
enable_thinking (bool)
- image_processor: Cosmos3MediaProcessorConfig#
- video_processor: Cosmos3MediaProcessorConfig#
- vision: Cosmos3VisionEncoderConfig#
- class mstar.model.cosmos3.config.Cosmos3SchedulerConfig(scheduler_class='UniPCMultistepScheduler', scheduler_type='unipc', prediction_type='flow_prediction', predict_x0=True, solver_order=2, solver_type='bh2', use_flow_sigmas=True, use_karras_sigmas=True, final_sigmas_type='zero', num_train_timesteps=1000, flow_shift=1.0, sigma_min=0.147, sigma_max=200.0, stochastic_sampling=False)[source]#
Bases:
objectFlow scheduler settings (
scheduler/scheduler_config).The denoise loop drives a diffusers scheduler configured from these fields —
UniPCMultistepSchedulerfor the base checkpoints (we do not re-implement the bh2 corrector),FlowMatchEulerDiscreteSchedulerwith stochastic (SDE) steps over the fixeddistilled_sigmasfor the 4-step distilled ones;scheduler_classrecords which.- Parameters:
- class mstar.model.cosmos3.config.Cosmos3VAEConfig(z_dim=48, scale_factor_spatial=16, scale_factor_temporal=4, latents_mean=<factory>, latents_std=<factory>)[source]#
Bases:
objectThe Wan2.2-TI2V-5B VAE (
AutoencoderKLWan) parameters we need at the serving layer. The full VAE module loads from thevae/subfolder via diffusers; here we only track the latent geometry and the per-channel normalization statistics the pipeline applies to/from latent space.- Parameters:
- class mstar.model.cosmos3.config.Cosmos3VisionEncoderConfig(hidden_size=1152, intermediate_size=4304, num_hidden_layers=27, num_attention_heads=16, num_channels=3, patch_size=16, num_patches=256, spatial_merge_size=2, hidden_act='gelu_pytorch_tanh', layer_norm_eps=1e-06)[source]#
Bases:
objectThe reasoner’s packed SigLIP2-style vision tower (
vision_configof the Edgeconfig.json): patch-embedding linear overpatch_size**2 * 3pixel patches, a learned square position grid ofnum_patchesentries that is bilinearly resized to each image’s patch grid,num_hidden_layerspre-LayerNorm encoder blocks attending within one frame, and a post LayerNorm.spatial_merge_sizeis the projector’s 2x2 patch merge.- Parameters: