Diffusers documentation
CosmosTransformer3DModel
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
< source >( 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, defaultnya16) — Jumlah channel pada input. - out_channels (
int, defaultnya16) — Jumlah channel pada output. - num_attention_heads (
int, defaultnya32) — Jumlah head yang digunakan untuk multi-head attention. - attention_head_dim (
int, defaultnya128) — Jumlah channel di setiap kepala perhatian. - num_layers (
int, defaultnya28) — Jumlah lapisan blok transformer yang akan digunakan. - mlp_ratio (
float, defaultnya4.0) — Rasio ukuran lapisan tersembunyi terhadap ukuran input dalam jaringan feedforward. - text_embed_dim (
int, defaultnya4096) — Dimensi input dari text embeddings yang berasal dari text encoder. - adaln_lora_dim (
int, defaultnya256) — 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, defaultnyaTrue) — Apakah akan menggabungkan padding mask ke tensor laten input. - extra_pos_embed_type (
str, opsional, defaultnyalearnable) — Jenis embedding posisi tambahan yang akan digunakan. Bisa berupaNoneataulearnable. - controlnet_block_every_n (
int, opsional) — Interval antara blok transformer yang harus menerima residual kontrol (misalnya,7untuk 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]. Jikaimg_context_dim_intidak disediakan, maka parameter ini diabaikan. - img_context_dim_out (
int) — Dimensi output dari lapisan proyeksi konteks gambar. Jikaimg_context_dim_intidak disediakan, maka parameter ini diabaikan.
Model Transformer untuk data mirip video yang digunakan dalam Cosmos.
forward
< source >( 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.Tensordengan bentuk(batch_size, num_channels, num_frames, height, width)) —hidden_statesmasukan. - timestep (
torch.LongTensor) — Digunakan untuk menunjukkan langkah denoising. - encoder_hidden_states (
torch.Tensordengan bentuk(batch_size, sequence_len, embed_dims)) — Embedding kondisional (embedding yang dihitung dari kondisi input seperti prompt) yang akan digunakan. - block_controlnet_hidden_states (
listoftorch.Tensor, opsional) — Daftar tensor yang, jika ditentukan, akan ditambahkan ke residual dari blok transformer. - attention_mask (
torch.Tensor, opsional) — Mask yang diterapkan padaencoder_hidden_statesselama 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 kehidden_statesuntuk menunjukkan area kondisioning. - padding_mask (
torch.Tensor, opsional) — Mask padding yang digabungkan kehidden_statesketikaconcat_padding_maskdiaktifkan. - return_dict (
bool, opsional, defaultTrue) — Apakah akan mengembalikan~models.transformer_2d.Transformer2DModelOutputalih-alih tuple biasa.
Metode forward dari CosmosTransformer3DModel.
Transformer2DModelOutput
kelas diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
Parameter
- sample (
torch.Tensordengan 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 inputencoder_hidden_states. Jika diskrit, mengembalikan distribusi probabilitas untuk latent pixels yang tidak berisik.
Output dari Transformer2DModel.