Diffusers documentation

CogVideoXTransformer3DModel

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

CogVideoXTransformer3DModel

CogVideoX'ten 3D veriler için bir Diffusion Transformer modeli, Tsinghua University & ZhipuAI tarafından CogVideoX: Text-to-Video Diffusion Models with An Expert Transformer makalesinde tanıtılmıştır.

Model, aşağıdaki kod parçasıyla yüklenebilir.

from diffusers import CogVideoXTransformer3DModel

transformer = CogVideoXTransformer3DModel.from_pretrained("THUDM/CogVideoX-2b", subfolder="transformer", dtype=torch.float16).to("cuda")  # or "mps", "xpu", "cpu"

CogVideoXTransformer3DModel

sınıf diffusers.CogVideoXTransformer3DModel

< >

( num_attention_heads: int = 30attention_head_dim: int = 64in_channels: int = 16out_channels: int | None = 16flip_sin_to_cos: bool = Truefreq_shift: int = 0time_embed_dim: int = 512ofs_embed_dim: int | None = Nonetext_embed_dim: int = 4096num_layers: int = 30dropout: float = 0.0attention_bias: bool = Truesample_width: int = 90sample_height: int = 60sample_frames: int = 49patch_size: int = 2patch_size_t: int | None = Nonetemporal_compression_ratio: int = 4max_text_seq_length: int = 226activation_fn: str = 'gelu-approximate'timestep_activation_fn: str = 'silu'norm_elementwise_affine: bool = Truenorm_eps: float = 1e-05spatial_interpolation_scale: float = 1.875temporal_interpolation_scale: float = 1.0use_rotary_positional_embeddings: bool = Falseuse_learned_positional_embeddings: bool = Falsepatch_bias: bool = True )

Parametreler

  • num_attention_heads (int, varsayılan 30) — Çok başlı dikkat (multi-head attention) için kullanılacak baş sayısı.
  • attention_head_dim (int, varsayılan 64) — Her baştaki kanal sayısı.
  • in_channels (int, varsayılan 16) — Girdideki kanal sayısı.
  • out_channels (int, isteğe bağlı, varsayılan 16) — Çıktıdaki kanal sayısı.
  • flip_sin_to_cos (bool, varsayılan True) — Zaman gömme (embedding) içinde sin'in cos'a çevrilip çevrilmeyeceğini belirtir.
  • time_embed_dim (int, varsayılan 512) — Zaman adımı gömme çıktısının boyutu.
  • ofs_embed_dim (int, varsayılan 512) — CogVideoX-5b-I2B'nin 1.5 sürümünde kullanılan “ofs” gömme çıktısının boyutu
  • text_embed_dim (int, varsayılan 4096) — Metin kodlayıcıdan gelen metin gömme girdi boyutu.
  • num_layers (int, varsayılan 30) — Kullanılacak Transformer bloklarının katman sayısı.
  • dropout (float, varsayılan 0.0) — Kullanılacak dropout olasılığı.
  • attention_bias (bool, varsayılan True) — Dikkat projeksiyon katmanlarında sapma (bias) kullanılıp kullanılmayacağı.
  • sample_width (int, varsayılan 90) — Girdi latentlerinin genişliği.
  • sample_height (int, varsayılan 60) — Girdi latentlerinin yüksekliği.
  • sample_frames (int, varsayılan 49) — Girdi latentlerindeki kare sayısı. Dikkat edin, CogVideoX varsayılan ve önerilen ayarlarında 13 latent kareyi birden işlemesi nedeniyle bu parametre 13 yerine yanlışlıkla 49 olarak başlatılmıştır; ancak geriye dönük uyumluluğu sağlamak için doğru değere değiştirilemez. K latent kareli bir dönüştürücü oluşturmak için buraya geçirilmesi gereken doğru değer şudur: ((K - 1) * temporal_compression_ratio + 1).
  • patch_size (int, varsayılan 2) — Patch gömme katmanında kullanılacak yamaların boyutu.
  • temporal_compression_ratio (int, varsayılan 4) — Zamansal boyut boyunca sıkıştırma oranı. sample_frames belgelerine bakın.
  • max_text_seq_length (int, varsayılan 226) — Girdi metin gömme (embedding) dizilerinin maksimum uzunluğu.
  • activation_fn (str, varsayılan "gelu-approximate") — İleri beslemeli ağda kullanılacak aktivasyon fonksiyonu.
  • timestep_activation_fn (str, varsayılan "silu") — Zaman adımları gömmelemelerini üretirken kullanılacak aktivasyon fonksiyonu.
  • norm_elementwise_affine (bool, varsayılan True) — Normalizasyon katmanlarında elementwise affine kullanılacak mı.
  • norm_eps (float, varsayılan 1e-5) — Normalizasyon katmanlarında kullanılacak epsilon değeri.
  • spatial_interpolation_scale (float, varsayılan 1.875) — Uzamsal boyutlar boyunca 3D konumsal gömme (embedding) içinde uygulanacak ölçekleme faktörü.
  • temporal_interpolation_scale (float, varsayılan 1.0) — Zamansal boyutlar boyunca 3D konumsal gömme (embedding) içinde uygulanacak ölçekleme faktörü.

CogVideoX içinde video benzeri veriler için bir Transformer modeli.

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensortimestep: typing.Union[int, float, torch.LongTensor]timestep_cond: typing.Optional[torch.Tensor] = Noneofs: typing.Union[int, float, torch.LongTensor, NoneType] = Noneimage_rotary_emb: tuple[torch.Tensor, torch.Tensor] | None = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )

Parametreler

  • hidden_states (torch.Tensor, şekli (batch_size, num_frames, channels, height, width)) — Girdi hidden_states.
  • encoder_hidden_states (torch.Tensor, şekli (batch_size, sequence_len, embed_dims)) — Kullanılacak koşullu gömme değerleri (prompt gibi girdi koşullarından hesaplanan gömme değerleri).
  • timestep (torch.LongTensor) — Gürültü azaltma adımını belirtmek için kullanılır.
  • timestep_cond (torch.Tensor, isteğe bağlı) — Timestep için koşullu gömme (embedding) değerleri. Sağlanırsa, gömme değerleri self.time_embedding katmanından geçirilen örneklerle toplanarak nihai timestep gömme değerleri elde edilir.
  • ofs (torch.Tensor, isteğe bağlı) — CogVideoX-5b-I2V'de kullanılan ofset gömme değerleri.
  • image_rotary_emb (tuple of torch.Tensor, opsiyonel) — Önceden hesaplanmış döner konumsal gömme (embedding) değerleri.
  • attention_kwargs (dict, isteğe bağlı) — Belirtilirse, diffusers.models.attention_processor içindeki self.processor altında tanımlanan AttentionProcessor'a iletilen bir kwargs sözlüğü.
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine ~models.transformer_2d.Transformer2DModelOutput döndürülüp döndürülmemesi.

CogVideoXTransformer3DModel ileri yöntemi.

fuse_qkv_projections

< >

( )

Füzyonlu QKV projeksiyonlarını etkinleştirir. Kendi dikkat (self-attention) modülleri için tüm projeksiyon matrisleri (yani sorgu, anahtar, değer) füzyonlanır. Çapraz dikkat (cross-attention) modülleri için anahtar ve değer projeksiyon matrisleri füzyonlanır.

> Bu API 🧪 deneyseldir.

unfuse_qkv_projections

< >

( )

Etkinleştirilmişse birleşik QKV projeksiyonunu devre dışı bırakır.

> Bu API 🧪 deneyseldir.

Transformer2DModelOutput

sınıf diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Parametreler

  • sample (torch.Tensor, şekli (batch_size, num_channels, height, width) veya Transformer2DModel ayrık (discrete) ise (batch size, num_vector_embeds - 1, num_latent_pixels)) — encoder_hidden_states girdisine koşullu gizli durum (hidden states) çıktısı. Ayrık (discrete) ise, gürültüsü kaldırılmış (unnoised) gizli (latent) pikseller için olasılık dağıtımlarını döndürür.

Transformer2DModel'nin çıktısı.

Update on GitHub