Diffusers documentation
CosmosTransformer3DModel
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
< 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 )
Parametreler
- in_channels (
int, varsayılan16) — Girdideki kanal sayısı. - out_channels (
int, varsayılan16) — Çıktıdaki kanal sayısı. - num_attention_heads (
int, varsayılan32) — Çok başlı dikkat (multi-head attention) için kullanılacak baş sayısı. - attention_head_dim (
int, varsayılan128) — Her dikkat başlığındaki kanal sayısı. - num_layers (
int, varsayılan28) — Kullanılacak transformer bloğu katman sayısı. - mlp_ratio (
float, varsayılan4.0) — İleri beslemeli ağda gizli katman boyutunun giriş boyutuna oranı. - text_embed_dim (
int, varsayılan4096) — Metin kodlayıcıdan gelen metin gömme girdi boyutu. - adaln_lora_dim (
int, varsayılan256) — 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ılanTrue) — Dolgu maskesinin girdi latent tensörlerine birleştirilip birleştirilmeyeceğini belirtir. - extra_pos_embed_type (
str, isteğe bağlı, varsayılanlearnable) — Kullanılacak ek konumsal gömme türü.Noneveyalearnabledeğ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çin7). 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_insağ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_insağlanmadıysa bu parametre yok sayılır.
Cosmos'da video benzeri verilerde kullanılan bir Transformer modeli.
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 )
Parametreler
- hidden_states (
torch.Tensor, şekli(batch_size, num_channels, num_frames, height, width)) — Girdihidden_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 (
listoftorch.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ındaencoder_hidden_statesuygulanan 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çinhidden_states'e birleştirilen maske kanalı. - padding_mask (
torch.Tensor, isteğe bağlı) —concat_padding_masketkinleştirildiğindehidden_states'e birleştirilen dolgu maskesi. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — Düz bir tuple yerine~models.transformer_2d.Transformer2DModelOutputdöndürülüp döndürülmemesi.
CosmosTransformer3DModel ileri yöntemi.
Transformer2DModelOutput
sınıf diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( 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_statesgirdisine 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ı.