Diffusers documentation

CosmosTransformer3DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

CosmosTransformer3DModel

Model Diffusion Transformer untuk data video 3D diperkenalkan dalam Cosmos World Foundation Model Platform for Physical AI oleh NVIDIA.

Model dapat dimuat dengan potongan kode berikut.

from diffusers import CosmosTransformer3DModel

transformer = CosmosTransformer3DModel.from_pretrained("nvidia/Cosmos-1.0-Diffusion-7B-Text2World", subfolder="transformer", dtype=torch.bfloat16)

CosmosTransformer3DModel

kelas diffusers.CosmosTransformer3DModel

< >

( in_channels: int = 16out_channels: int = 16num_attention_heads: int = 32attention_head_dim: int = 128num_layers: int = 28mlp_ratio: float = 4.0text_embed_dim: int = 1024adaln_lora_dim: int = 256max_size: tuple = (128, 240, 240)patch_size: tuple = (1, 2, 2)rope_scale: tuple = (2.0, 1.0, 1.0)concat_padding_mask: bool = Trueextra_pos_embed_type: str | None = 'learnable'use_crossattn_projection: bool = Falsecrossattn_proj_in_channels: int = 1024encoder_hidden_states_channels: int = 1024controlnet_block_every_n: int | None = Noneimg_context_dim_in: int | None = Noneimg_context_num_tokens: int = 256img_context_dim_out: int = 2048 )

Parameter

  • in_channels (int, defaultnya 16) — Jumlah channel pada input.
  • out_channels (int, defaultnya 16) — Jumlah channel pada output.
  • num_attention_heads (int, defaultnya 32) — Jumlah head yang digunakan untuk multi-head attention.
  • attention_head_dim (int, defaultnya 128) — Jumlah channel di setiap kepala perhatian.
  • num_layers (int, defaultnya 28) — Jumlah lapisan blok transformer yang akan digunakan.
  • mlp_ratio (float, defaultnya 4.0) — Rasio ukuran lapisan tersembunyi terhadap ukuran input dalam jaringan feedforward.
  • text_embed_dim (int, defaultnya 4096) — Dimensi input dari text embeddings yang berasal dari text encoder.
  • adaln_lora_dim (int, defaultnya 256) — Dimensi tersembunyi dari lapisan Adaptive LayerNorm LoRA.
  • max_size (tuple[int, int, int], defaultnya (128, 240, 240)) — Ukuran maksimum tensor laten input pada dimensi temporal, tinggi, dan lebar.
  • patch_size (tuple[int, int, int], defaultnya (1, 2, 2)) — Ukuran patch yang digunakan untuk mem-patchify tensor laten input pada dimensi temporal, tinggi, dan lebar.
  • rope_scale (tuple[float, float, float], defaultnya (2.0, 1.0, 1.0)) — Faktor penskalaan yang digunakan untuk RoPE pada dimensi temporal, tinggi, dan lebar.
  • concat_padding_mask (bool, defaultnya True) — Apakah akan menggabungkan padding mask ke tensor laten input.
  • extra_pos_embed_type (str, opsional, defaultnya learnable) — Jenis embedding posisi tambahan yang akan digunakan. Bisa berupa None atau learnable.
  • controlnet_block_every_n (int, opsional) — Interval antara blok transformer yang harus menerima residual kontrol (misalnya, 7 untuk menyuntikkan setelah setiap blok ketujuh). Wajib untuk Cosmos Transfer2.5.
  • img_context_dim_in (int, opsional) — Dimensi dari vektor fitur konteks gambar input, yaitu D dalam [B, N, D].
  • img_context_num_tokens (int) — Jumlah token dalam vektor fitur konteks gambar, yaitu N dalam [B, N, D]. Jika img_context_dim_in tidak disediakan, maka parameter ini diabaikan.
  • img_context_dim_out (int) — Dimensi output dari lapisan proyeksi konteks gambar. Jika img_context_dim_in tidak disediakan, maka parameter ini diabaikan.

Model Transformer untuk data mirip video yang digunakan dalam Cosmos.

forward

< >

( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorblock_controlnet_hidden_states: list[torch.Tensor] | None = Noneattention_mask: typing.Optional[torch.Tensor] = Nonefps: int | None = Nonecondition_mask: typing.Optional[torch.Tensor] = Nonepadding_mask: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True )

Parameter

  • hidden_states (torch.Tensor dengan bentuk (batch_size, num_channels, num_frames, height, width)) — hidden_states masukan.
  • timestep (torch.LongTensor) — Digunakan untuk menunjukkan langkah denoising.
  • encoder_hidden_states (torch.Tensor dengan bentuk (batch_size, sequence_len, embed_dims)) — Embedding kondisional (embedding yang dihitung dari kondisi input seperti prompt) yang akan digunakan.
  • block_controlnet_hidden_states (list of torch.Tensor, opsional) — Daftar tensor yang, jika ditentukan, akan ditambahkan ke residual dari blok transformer.
  • attention_mask (torch.Tensor, opsional) — Mask yang diterapkan pada encoder_hidden_states selama attention.
  • fps (int, opsional) — Frame per detik dari video input yang digunakan untuk menghitung rotary positional embeddings.
  • condition_mask (torch.Tensor, opsional) — Mask channel yang digabungkan ke hidden_states untuk menunjukkan area kondisioning.
  • padding_mask (torch.Tensor, opsional) — Mask padding yang digabungkan ke hidden_states ketika concat_padding_mask diaktifkan.
  • return_dict (bool, opsional, default True) — Apakah akan mengembalikan ~models.transformer_2d.Transformer2DModelOutput alih-alih tuple biasa.

Metode forward dari CosmosTransformer3DModel.

Transformer2DModelOutput

kelas diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Parameter

  • sample (torch.Tensor dengan bentuk (batch_size, num_channels, height, width) atau (batch size, num_vector_embeds - 1, num_latent_pixels) jika Transformer2DModel bersifat diskrit) — Output hidden states yang dikondisikan pada input encoder_hidden_states. Jika diskrit, mengembalikan distribusi probabilitas untuk latent pixels yang tidak berisik.

Output dari Transformer2DModel.

Update on GitHub