Diffusers documentation
ChronoEditTransformer3DModel
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
< source >( 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ão40) — Comprimento fixo para embeddings de texto. - attention_head_dim (
int, padrão128) — O número de canais em cada head. - in_channels (
int, padrão16) — O número de canais na entrada. - out_channels (
int, padrão16) — O número de canais na saída. - text_dim (
int, padrão512) — Dimensão de entrada para embeddings de texto. - freq_dim (
int, padrão256) — Dimensão para incorporações de tempo sinusoidais. - ffn_dim (
int, padrão13824) — Dimensão intermediária na rede feed-forward. - num_layers (
int, padrão40) — 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ãoTrue) — Ativa a normalização de atenção cruzada. - qk_norm (
bool, padrãoTrue) — Ativa a normalização de query/key. - eps (
float, padrão1e-6) — Valor de epsilon para as camadas de normalização. - add_img_emb (
bool, padrãoFalse) — Se deve usar img_emb. - added_kv_proj_dim (
int, opcional, padrãoNone) — O número de canais a serem usados para as projeções de chave e valor adicionadas. SeNone, nenhuma projeção é usada.
Um modelo Transformer para dados semelhantes a vídeo usado no modelo ChronoEdit.
forward
< source >( 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.Tensorde forma(batch_size, num_channels, num_frames, height, width)) —hidden_statesde entrada. - timestep (
torch.LongTensor) — Usado para indicar o passo de desruido. - encoder_hidden_states (
torch.Tensorde 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ãoTrue) — Se deve ou não retornar um~models.transformer_2d.Transformer2DModelOutputem vez de uma tupla simples. - attention_kwargs (
dict, opcional) — Um dicionário de kwargs que, se especificado, é passado aoAttentionProcessorconforme definido emself.processorem diffusers.models.attention_processor.
O método forward do ChronoEditTransformer3DModel.
Transformer2DModelOutput
classe diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
Parâmetros
- sample (
torch.Tensorde 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 à entradaencoder_hidden_states. Se discreto, retorna distribuições de probabilidade para os pixels latentes sem ruído.
A saída de Transformer2DModel.