Diffusers documentation

ChronoEditTransformer3DModel

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

ChronoEditTransformer3DModel

Um modelo Diffusion Transformer para dados de vídeo 3D do ChronoEdit: Towards Temporal Reasoning for Image Editing and World Simulation da NVIDIA e da University of Toronto, por Jay Zhangjie Wu, Xuanchi Ren, Tianchang Shen, Tianshi Cao, Kai He, Yifan Lu, Ruiyuan Gao, Enze Xie, Shiyi Lan, Jose M. Alvarez, Jun Gao, Sanja Fidler, Zian Wang, Huan Ling.

Resumo: O ChronoEdit reformula a edição de imagens como uma tarefa de geração de vídeo, utilizando as imagens de entrada e editadas como quadros inicial e final para aproveitar modelos de vídeo pré-treinados com consistência temporal. Um estágio de raciocínio temporal introduz tokens de raciocínio para garantir edições fisicamente plausíveis e visualizar a trajetória da edição.

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

from diffusers import ChronoEditTransformer3DModel

transformer = ChronoEditTransformer3DModel.from_pretrained("nvidia/ChronoEdit-14B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)

ChronoEditTransformer3DModel

classe diffusers.ChronoEditTransformer3DModel

< >

( patch_size: tuple = (1, 2, 2)num_attention_heads: int = 40attention_head_dim: int = 128in_channels: int = 16out_channels: int = 16text_dim: int = 4096freq_dim: int = 256ffn_dim: int = 13824num_layers: int = 40cross_attn_norm: bool = Trueqk_norm: str | None = 'rms_norm_across_heads'eps: float = 1e-06image_dim: int | None = Noneadded_kv_proj_dim: int | None = Nonerope_max_seq_len: int = 1024pos_embed_seq_len: int | None = Nonerope_temporal_skip_len: int = 8 )

Parâmetros

  • patch_size (tuple[int], padrão (1, 2, 2)) — Dimensões do patch 3D para incorporação de vídeo (t_patch, h_patch, w_patch).
  • num_attention_heads (int, padrão 40) — Comprimento fixo para embeddings de texto.
  • attention_head_dim (int, padrão 128) — O número de canais em cada head.
  • in_channels (int, padrão 16) — O número de canais na entrada.
  • out_channels (int, padrão 16) — O número de canais na saída.
  • text_dim (int, padrão 512) — Dimensão de entrada para embeddings de texto.
  • freq_dim (int, padrão 256) — Dimensão para incorporações de tempo sinusoidais.
  • ffn_dim (int, padrão 13824) — Dimensão intermediária na rede feed-forward.
  • num_layers (int, padrão 40) — O número de blocos de transformadores a serem usados.
  • window_size (tuple[int], padrão (-1, -1)) — Tamanho da janela para atenção local (-1 indica atenção global).
  • cross_attn_norm (bool, padrão True) — Ativa a normalização de atenção cruzada.
  • qk_norm (bool, padrão True) — Ativa a normalização de query/key.
  • eps (float, padrão 1e-6) — Valor de epsilon para as camadas de normalização.
  • add_img_emb (bool, padrão False) — Se deve usar img_emb.
  • added_kv_proj_dim (int, opcional, padrão None) — O número de canais a serem usados para as projeções de chave e valor adicionadas. Se None, nenhuma projeção é usada.

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

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = None )

Parâmetros

  • hidden_states (torch.Tensor de forma (batch_size, num_channels, num_frames, height, width)) — hidden_states de entrada.
  • timestep (torch.LongTensor) — Usado para indicar o passo de desruido.
  • encoder_hidden_states (torch.Tensor de forma (batch_size, sequence_len, embed_dims)) — Incorporações condicionais (incorporações calculadas a partir das condições de entrada, como prompts) a serem usadas.
  • encoder_hidden_states_image (torch.Tensor, opcional) — Incorporações condicionais de imagem para geração condicionada por imagem.
  • return_dict (bool, opcional, padrão True) — Se deve ou não retornar um ~models.transformer_2d.Transformer2DModelOutput em vez de uma tupla simples.
  • attention_kwargs (dict, opcional) — Um dicionário de kwargs que, se especificado, é passado ao AttentionProcessor conforme definido em self.processor em diffusers.models.attention_processor.

O método forward do ChronoEditTransformer3DModel.

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