Buckets:
CogVideoXTransformer3DModel
Model Diffusion Transformer untuk data 3D dari CogVideoX diperkenalkan dalam CogVideoX: Text-to-Video Diffusion Models with An Expert Transformer oleh Tsinghua University & ZhipuAI.
Model dapat dimuat dengan potongan kode berikut.
from diffusers import CogVideoXTransformer3DModel
transformer = CogVideoXTransformer3DModel.from_pretrained("THUDM/CogVideoX-2b", subfolder="transformer", dtype=torch.float16).to("cuda") # or "mps", "xpu", "cpu"
CogVideoXTransformer3DModel[[diffusers.CogVideoXTransformer3DModel]]
diffusers.CogVideoXTransformer3DModel[[diffusers.CogVideoXTransformer3DModel]]
diffusers.CogVideoXTransformer3DModel(num_attention_heads: int = 30, attention_head_dim: int = 64, in_channels: int = 16, out_channels: int | None = 16, flip_sin_to_cos: bool = True, freq_shift: int = 0, time_embed_dim: int = 512, ofs_embed_dim: int | None = None, text_embed_dim: int = 4096, num_layers: int = 30, dropout: float = 0.0, attention_bias: bool = True, sample_width: int = 90, sample_height: int = 60, sample_frames: int = 49, patch_size: int = 2, patch_size_t: int | None = None, temporal_compression_ratio: int = 4, max_text_seq_length: int = 226, activation_fn: str = 'gelu-approximate', timestep_activation_fn: str = 'silu', norm_elementwise_affine: bool = True, norm_eps: float = 1e-05, spatial_interpolation_scale: float = 1.875, temporal_interpolation_scale: float = 1.0, use_rotary_positional_embeddings: bool = False, use_learned_positional_embeddings: bool = False, patch_bias: bool = True)
Parameter:
num_attention_heads (int, defaultnya 30) : Jumlah head yang digunakan untuk multi-head attention.
attention_head_dim (int, defaultnya 64) : Jumlah channel di setiap head.
in_channels (int, defaultnya 16) : Jumlah channel pada input.
out_channels (int, opsional, defaultnya 16) : Jumlah channel pada output.
flip_sin_to_cos (bool, defaultnya True) : Apakah akan membalik sin menjadi cos dalam time embedding.
time_embed_dim (int, defaultnya 512) : Dimensi output dari embedding timestep.
ofs_embed_dim (int, defaultnya 512) : Dimensi output dari embedding "ofs" yang digunakan dalam CogVideoX-5b-I2B versi 1.5
text_embed_dim (int, defaultnya 4096) : Dimensi input dari embedding teks yang berasal dari text encoder.
num_layers (int, defaultnya 30) : Jumlah lapisan blok Transformer yang akan digunakan.
dropout (float, defaultnya 0.0) : Probabilitas dropout yang digunakan.
attention_bias (bool, defaultnya True) : Apakah akan menggunakan bias pada lapisan proyeksi perhatian.
sample_width (int, defaultnya 90) : Lebar dari latens input.
sample_height (int, defaultnya 60) : Tinggi dari latens input.
sample_frames (int, defaultnya 49) : Jumlah frame pada latens input. Perhatikan bahwa parameter ini diinisialisasi secara keliru ke 49 alih-alih 13 karena CogVideoX memproses 13 frame latens sekaligus pada pengaturan default dan yang direkomendasikannya, namun tidak dapat diubah ke nilai yang benar untuk memastikan kompatibilitas mundur. Untuk membuat transformer dengan K frame latens, nilai yang benar untuk dilewatkan di sini adalah: ((K - 1) * temporal_compression_ratio + 1).
patch_size (int, defaultnya 2) : Ukuran patch yang akan digunakan di lapisan patch embedding.
temporal_compression_ratio (int, defaultnya 4) : Rasio kompresi di sepanjang dimensi temporal. Lihat dokumentasi untuk sample_frames.
max_text_seq_length (int, defaultnya 226) : Panjang maksimum urutan dari embedding teks input.
activation_fn (str, defaultnya "gelu-approximate") : Fungsi aktivasi yang digunakan dalam feed-forward.
timestep_activation_fn (str, defaultnya "silu") : Fungsi aktivasi yang digunakan saat menghasilkan embedding timestep.
norm_elementwise_affine (bool, defaultnya True) : Apakah akan menggunakan elementwise affine di lapisan normalisasi.
norm_eps (float, defaultnya 1e-5) : Nilai epsilon yang digunakan dalam lapisan normalisasi.
spatial_interpolation_scale (float, defaultnya 1.875) : Faktor skala yang diterapkan pada embedding posisional 3D di sepanjang dimensi spasial.
temporal_interpolation_scale (float, defaultnya 1.0) : Faktor penskalaan yang diterapkan pada embedding posisi 3D di sepanjang dimensi temporal.
Model Transformer untuk data seperti video di CogVideoX.
forward[[diffusers.CogVideoXTransformer3DModel.forward]]
forward(hidden_states: Tensor, encoder_hidden_states: Tensor, timestep: typing.Union[int, float, torch.LongTensor], timestep_cond: typing.Optional[torch.Tensor] = None, ofs: typing.Union[int, float, torch.LongTensor, NoneType] = None, image_rotary_emb: tuple[torch.Tensor, torch.Tensor] | None = None, attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True)
Parameter:
hidden_states (torch.Tensor dengan bentuk (batch_size, num_frames, channels, height, width)) : hidden_states masukan.
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.
timestep (torch.LongTensor) : Digunakan untuk menunjukkan langkah denoising.
timestep_cond (torch.Tensor, opsional) : Embedding kondisional untuk timestep. Jika disediakan, embedding akan dijumlahkan dengan sampel yang melewati lapisan self.time_embedding untuk mendapatkan embedding timestep akhir.
ofs (torch.Tensor, opsional) : Offset embeddings yang digunakan dalam CogVideoX-5b-I2V.
image_rotary_emb (tuple dari torch.Tensor, opsional) : Embedding posisi rotasi yang telah dihitung sebelumnya.
attention_kwargs (dict, opsional) : Kamus kwargs yang jika ditentukan akan diteruskan ke AttentionProcessor seperti yang didefinisikan di bawah self.processor dalam diffusers.models.attention_processor.
return_dict (bool, opsional, defaultnya True) : Apakah akan mengembalikan ~models.transformer_2d.Transformer2DModelOutput alih-alih tuple biasa.
Mengembalikan:
Jika return_dict bernilai True, sebuah ~models.transformer_2d.Transformer2DModelOutput akan dikembalikan, selain itu sebuah tuple di mana elemen pertama adalah tensor sampel.
Metode forward dari CogVideoXTransformer3DModel.
fuse_qkv_projections[[diffusers.CogVideoXTransformer3DModel.fuse_qkv_projections]]
fuse_qkv_projections()
Mengaktifkan proyeksi QKV yang digabungkan. Untuk modul self-attention, semua matriks proyeksi (yaitu, query, key, value) digabungkan. Untuk modul cross-attention, matriks proyeksi key dan value digabungkan.
> API ini 🧪 eksperimental.
unfuse_qkv_projections[[diffusers.CogVideoXTransformer3DModel.unfuse_qkv_projections]]
unfuse_qkv_projections()
Menonaktifkan proyeksi QKV yang digabungkan jika diaktifkan.
> API ini 🧪 eksperimental.
Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]
diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]
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 piksel laten yang tidak berisik.
Output dari Transformer2DModel.
Xet Storage Details
- Size:
- 8.78 kB
- Xet hash:
- 8d782c5713e560701fabe8212f20820d25d1098dd5d89ff9a3eada2f7a6da902
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.