|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import omegaconf |
|
|
|
|
|
from cosmos_predict1.diffusion.training.module.pretrained_vae import VideoJITTokenizer |
|
|
from cosmos_predict1.utils.lazy_config import LazyCall as L |
|
|
|
|
|
TOKENIZER_OPTIONS = {} |
|
|
|
|
|
|
|
|
def tokenizer_register(key): |
|
|
def decorator(func): |
|
|
TOKENIZER_OPTIONS[key] = func |
|
|
return func |
|
|
|
|
|
return decorator |
|
|
|
|
|
|
|
|
@tokenizer_register("cosmos_diffusion_tokenizer_comp8x8x8") |
|
|
def get_cosmos_tokenizer_comp8x8x8( |
|
|
resolution: str, |
|
|
chunk_duration: int, |
|
|
) -> omegaconf.dictconfig.DictConfig: |
|
|
assert resolution in ["512", "720"] |
|
|
|
|
|
pixel_chunk_duration = chunk_duration |
|
|
temporal_compression_factor = 8 |
|
|
spatial_compression_factor = 8 |
|
|
|
|
|
return L(VideoJITTokenizer)( |
|
|
name="cosmos_diffusion_tokenizer_comp8x8x8", |
|
|
enc_fp="checkpoints/Cosmos-Tokenize1-CV8x8x8-720p/encoder.jit", |
|
|
dec_fp="checkpoints/Cosmos-Tokenize1-CV8x8x8-720p/decoder.jit", |
|
|
mean_std_fp="checkpoints/Cosmos-Tokenize1-CV8x8x8-720p/mean_std.pt", |
|
|
latent_ch=16, |
|
|
is_bf16=True, |
|
|
pixel_chunk_duration=pixel_chunk_duration, |
|
|
temporal_compression_factor=temporal_compression_factor, |
|
|
spatial_compression_factor=spatial_compression_factor, |
|
|
spatial_resolution=resolution, |
|
|
) |
|
|
|