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

NVIDIA tarafından Cosmos World Foundation Model Platform for Physical AI makalesinde, 3D video benzeri veriler için bir Diffusion Transformer modeli tanıtılmıştır.

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

from diffusers import CosmosTransformer3DModel

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

CosmosTransformer3DModel

sınıf 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 )

Parametreler

  • in_channels (int, varsayılan 16) — Girdideki kanal sayısı.
  • out_channels (int, varsayılan 16) — Çıktıdaki kanal sayısı.
  • num_attention_heads (int, varsayılan 32) — Çok başlı dikkat (multi-head attention) için kullanılacak baş sayısı.
  • attention_head_dim (int, varsayılan 128) — Her dikkat başlığındaki kanal sayısı.
  • num_layers (int, varsayılan 28) — Kullanılacak transformer bloğu katman sayısı.
  • mlp_ratio (float, varsayılan 4.0) — İleri beslemeli ağda gizli katman boyutunun giriş boyutuna oranı.
  • text_embed_dim (int, varsayılan 4096) — Metin kodlayıcıdan gelen metin gömme girdi boyutu.
  • adaln_lora_dim (int, varsayılan 256) — Adaptive LayerNorm LoRA katmanının gizli boyutu.
  • max_size (tuple[int, int, int], varsayılan (128, 240, 240)) — Girdi latent tensörlerinin zamansal, yükseklik ve genişlik boyutlarındaki maksimum boyutu.
  • patch_size (tuple[int, int, int], varsayılan (1, 2, 2)) — Girdi latent tensörlerini zaman, yükseklik ve genişlik boyutlarında parçalama (patchify) için kullanılacak parça boyutu.
  • rope_scale (tuple[float, float, float], varsayılan (2.0, 1.0, 1.0)) — Zamansal, yükseklik ve genişlik boyutları için RoPE'de kullanılacak ölçekleme faktörü.
  • concat_padding_mask (bool, varsayılan True) — Dolgu maskesinin girdi latent tensörlerine birleştirilip birleştirilmeyeceğini belirtir.
  • extra_pos_embed_type (str, isteğe bağlı, varsayılan learnable) — Kullanılacak ek konumsal gömme türü. None veya learnable değerlerinden biri olabilir.
  • controlnet_block_every_n (int, isteğe bağlı) — Kontrol artıkları (residuals) alması gereken transformer blokları arasındaki aralık (örneğin, her yedinci bloktan sonra enjekte etmek için 7). Cosmos Transfer2.5 için zorunludur.
  • img_context_dim_in (int, isteğe bağlı) — Girdi görüntü bağlamı özellik vektörünün boyutu, yani [B, N, D] içindeki D'dir.
  • img_context_num_tokens (int) — Görsel bağlam özellik vektöründeki token sayısı, yani [B, N, D] ifadesindeki N değeridir. img_context_dim_in sağlanmadıysa bu parametre yok sayılır.
  • img_context_dim_out (int) — Görsel bağlam projeksiyon katmanının çıktı boyutu. img_context_dim_in sağlanmadıysa bu parametre yok sayılır.

Cosmos'da video benzeri verilerde kullanılan bir Transformer modeli.

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 )

Parametreler

  • hidden_states (torch.Tensor, şekli (batch_size, num_channels, num_frames, height, width)) — Girdi hidden_states.
  • timestep (torch.LongTensor) — Gürültü azaltma adımını belirtmek için kullanılır.
  • 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).
  • block_controlnet_hidden_states (list of torch.Tensor, isteğe bağlı) — Belirtilirse, transformer bloklarının artıklarına eklenen tensörlerin listesi.
  • attention_mask (torch.Tensor, isteğe bağlı) — Dikkat sırasında encoder_hidden_states uygulanan maske.
  • fps (int, isteğe bağlı) — Döner konumsal gömme hesaplamalarında kullanılan giriş videosunun saniyedeki kare sayısı.
  • condition_mask (torch.Tensor, isteğe bağlı) — Koşullandırma bölgesini belirtmek için hidden_states'e birleştirilen maske kanalı.
  • padding_mask (torch.Tensor, isteğe bağlı) — concat_padding_mask etkinleştirildiğinde hidden_states'e birleştirilen dolgu maskesi.
  • 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.

CosmosTransformer3DModel ileri yöntemi.

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