Diffusers documentation

EasyAnimateTransformer3DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

EasyAnimateTransformer3DModel

Um modelo Diffusion Transformer para dados 3D do EasyAnimate foi introduzido pela Alibaba PAI.

O modelo pode ser carregado com o seguinte trecho de código.

from diffusers import EasyAnimateTransformer3DModel

transformer = EasyAnimateTransformer3DModel.from_pretrained("alibaba-pai/EasyAnimateV5.1-12b-zh", subfolder="transformer", dtype=torch.float16).to("cuda")  # or "mps", "xpu", "cpu"

EasyAnimateTransformer3DModel

classe diffusers.EasyAnimateTransformer3DModel

< >

( num_attention_heads: int = 48attention_head_dim: int = 64in_channels: int | None = Noneout_channels: int | None = Nonepatch_size: int | None = Nonesample_width: int = 90sample_height: int = 60activation_fn: str = 'gelu-approximate'timestep_activation_fn: str = 'silu'freq_shift: int = 0num_layers: int = 48mmdit_layers: int = 48dropout: float = 0.0time_embed_dim: int = 512add_norm_text_encoder: bool = Falsetext_embed_dim: int = 3584text_embed_dim_t5: int = Nonenorm_eps: float = 1e-05norm_elementwise_affine: bool = Trueflip_sin_to_cos: bool = Truetime_position_encoding_type: str = '3d_rope'after_norm = Falseresize_inpaint_mask_directly: bool = Trueenable_text_attention_mask: bool = Trueadd_noise_in_inpaint_model: bool = True )

Parâmetros

  • num_attention_heads (int, padrão 48) — O número de cabeças a serem usadas para a atenção multi-cabeça.
  • attention_head_dim (int, padrão 64) — O número de canais em cada cabeça.
  • in_channels (int, padrão 16) — O número de canais na entrada.
  • out_channels (int, opcional, padrão 16) — O número de canais na saída.
  • patch_size (int, padrão 2) — O tamanho dos patches a serem usados na camada de incorporação de patches.
  • sample_width (int, padrão 90) — A largura dos latentes de entrada.
  • sample_height (int, padrão 60) — A altura dos latentes de entrada.
  • activation_fn (str, padrão "gelu-approximate") — Função de ativação a ser usada no feed-forward.
  • timestep_activation_fn (str, padrão "silu") — Função de ativação a ser usada ao gerar os embeddings de timestep.
  • num_layers (int, padrão 30) — O número de blocos de camadas de Transformer a serem usados.
  • mmdit_layers (int, padrão 1000) — O número de camadas de blocos Multi Modal Transformer a serem usadas.
  • dropout (float, padrão 0.0) — A probabilidade de dropout a ser utilizada.
  • time_embed_dim (int, padrão 512) — Dimensão de saída dos embeddings de timestep.
  • text_embed_dim (int, padrão 4096) — Dimensão de entrada dos embeddings de texto do codificador de texto.
  • norm_eps (float, padrão 1e-5) — O valor de epsilon a ser usado nas camadas de normalização.
  • norm_elementwise_affine (bool, padrão True) — Se deve usar afinidade elementar em camadas de normalização.
  • flip_sin_to_cos (bool, padrão True) — Se deve inverter o sin para cos no embedding de tempo.
  • time_position_encoding_type (str, padrão 3d_rope) — Tipo de codificação de posição temporal.
  • after_norm (bool, padrão False) — Flag para aplicar normalização depois.
  • resize_inpaint_mask_directly (bool, padrão True) — Flag para redimensionar a máscara de inpaint diretamente.
  • enable_text_attention_mask (bool, padrão True) — Flag para habilitar a máscara de atenção de texto.
  • add_noise_in_inpaint_model (bool, padrão False) — Flag para adicionar ruído no modelo de inpaint.

Um modelo Transformer para dados semelhantes a vídeo no EasyAnimate.

forward

< >

( hidden_states: Tensortimestep: Tensortimestep_cond: typing.Optional[torch.Tensor] = Noneencoder_hidden_states: typing.Optional[torch.Tensor] = Noneencoder_hidden_states_t5: typing.Optional[torch.Tensor] = Noneinpaint_latents: typing.Optional[torch.Tensor] = Nonecontrol_latents: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True )

Parâmetros

  • hidden_states (torch.Tensor de forma (batch_size, channels, num_frames, height, width)) — hidden_states de entrada.
  • timestep (torch.LongTensor) — Usado para indicar o passo de desruido.
  • timestep_cond (torch.Tensor, opcional) — Incorporações condicionais para o timestep. Se fornecidas, as incorporações serão somadas às amostras passadas pela camada self.time_embedding para obter as incorporações finais de timestep.
  • encoder_hidden_states (torch.Tensor, opcional) — Incorporações condicionais (incorporações calculadas a partir das condições de entrada, como prompts) a serem usadas.
  • encoder_hidden_states_t5 (torch.Tensor, opcional) — Incorporações condicionais adicionais calculadas a partir de um codificador de texto T5.
  • inpaint_latents (torch.Tensor, opcional) — Latentes concatenados a hidden_states para as variantes de inpainting do modelo.
  • control_latents (torch.Tensor, opcional) — Latentes concatenados a hidden_states para as variantes de controle do modelo.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um ~models.transformer_2d.Transformer2DModelOutput em vez de uma tupla simples.

O método forward do EasyAnimateTransformer3DModel.

Transformer2DModelOutput

classe diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Parâmetros

  • sample (torch.Tensor de forma (batch_size, num_channels, height, width) ou (batch size, num_vector_embeds - 1, num_latent_pixels) se Transformer2DModel for discreto) — A saída dos estados ocultos condicionada à entrada encoder_hidden_states. Se discreto, retorna distribuições de probabilidade para os pixels latentes sem ruído.

A saída de Transformer2DModel.

Update on GitHub