|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from typing import List |
|
|
|
import attrs |
|
|
|
from cosmos_transfer1.diffusion.config.training.ema import PowerEMAConfig |
|
from cosmos_transfer1.diffusion.training.modules.edm_sde import EDMSDE |
|
from cosmos_transfer1.utils.lazy_config import LazyCall as L |
|
from cosmos_transfer1.utils.lazy_config import LazyDict |
|
|
|
|
|
@attrs.define(slots=False) |
|
class FSDPConfig: |
|
policy: str = "block" |
|
checkpoint: bool = False |
|
min_num_params: int = 1024 |
|
sharding_group_size: int = 8 |
|
sharding_strategy: str = "full" |
|
|
|
|
|
@attrs.define(slots=False) |
|
class DefaultModelConfig: |
|
tokenizer: LazyDict = None |
|
conditioner: LazyDict = None |
|
net: LazyDict = None |
|
sigma_data: float = 0.5 |
|
precision: str = "bfloat16" |
|
input_data_key: str = "video" |
|
latent_shape: List[int] = [16, 24, 44, 80] |
|
|
|
|
|
ema: LazyDict = PowerEMAConfig |
|
sde: LazyDict = L(EDMSDE)( |
|
p_mean=0.0, |
|
p_std=1.0, |
|
sigma_max=80, |
|
sigma_min=0.0002, |
|
) |
|
camera_sample_weight: LazyDict = LazyDict( |
|
dict( |
|
enabled=False, |
|
weight=5.0, |
|
) |
|
) |
|
aesthetic_finetuning: LazyDict = LazyDict( |
|
dict( |
|
enabled=False, |
|
) |
|
) |
|
loss_mask_enabled: bool = False |
|
loss_masking: LazyDict = None |
|
loss_add_logvar: bool = True |
|
input_image_key: str = "images_1024" |
|
loss_reduce: str = "sum" |
|
loss_scale: float = 1.0 |
|
fsdp_enabled: bool = False |
|
use_torch_compile: bool = False |
|
fsdp: FSDPConfig = attrs.field(factory=FSDPConfig) |
|
use_dummy_temporal_dim: bool = False |
|
adjust_video_noise: bool = False |
|
context_parallel_size: int = 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
num_latents_to_drop: int = 0 |
|
|
|
|
|
@attrs.define(slots=False) |
|
class MultiviewModelConfig(DefaultModelConfig): |
|
n_views: int = 6 |
|
|
|
|
|
@attrs.define(slots=False) |
|
class LatentDiffusionDecoderModelConfig(DefaultModelConfig): |
|
tokenizer_corruptor: LazyDict = None |
|
latent_corruptor: LazyDict = None |
|
pixel_corruptor: LazyDict = None |
|
diffusion_decoder_cond_sigma_low: float = None |
|
diffusion_decoder_cond_sigma_high: float = None |
|
diffusion_decoder_corrupt_prob: float = None |
|
condition_on_tokenizer_corruptor_token: bool = False |
|
|