Diffusers documentation

ChronoEditTransformer3DModel

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

ChronoEditTransformer3DModel

Un modelo Diffusion Transformer para datos de video 3D de ChronoEdit: Towards Temporal Reasoning for Image Editing and World Simulation de NVIDIA y la Universidad de Toronto, de 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.

Resumen: ChronoEdit redefine la edición de imágenes como una tarea de generación de video, utilizando las imágenes de entrada y editadas como fotogramas inicial y final para aprovechar los modelos de video preentrenados con consistencia temporal. Una etapa de razonamiento temporal introduce tokens de razonamiento para garantizar ediciones físicamente plausibles y visualizar la trayectoria de la edición.

El modelo se puede cargar con el siguiente fragmento de código.

from diffusers import ChronoEditTransformer3DModel

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

ChronoEditTransformer3DModel

clase diffusers.ChronoEditTransformer3DModel

< >

( patch_size: tuple[int] = (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], por defecto (1, 2, 2)) — Dimensiones del parche 3D para la incrustación de video (t_patch, h_patch, w_patch).
  • num_attention_heads (int, por defecto 40) — Longitud fija para las incrustaciones de texto.
  • attention_head_dim (int, por defecto 128) — El número de canales en cada cabeza.
  • in_channels (int, por defecto 16) — El número de canales en la entrada.
  • out_channels (int, por defecto 16) — El número de canales en la salida.
  • text_dim (int, por defecto 512) — Dimensión de entrada para las incrustaciones de texto.
  • freq_dim (int, por defecto 256) — Dimensión para las incrustaciones sinusoidales de tiempo.
  • ffn_dim (int, por defecto 13824) — Dimensión intermedia en la red feed-forward.
  • num_layers (int, por defecto 40) — El número de capas de bloques de transformador a utilizar.
  • window_size (tuple[int], por defecto (-1, -1)) — Tamaño de la ventana para la atención local (-1 indica atención global).
  • cross_attn_norm (bool, por defecto True) — Habilita la normalización de atención cruzada.
  • qk_norm (bool, por defecto True) — Habilita la normalización de query/key.
  • eps (float, por defecto 1e-6) — Valor de epsilon para las capas de normalización.
  • add_img_emb (bool, por defecto False) — Si se debe usar img_emb.
  • added_kv_proj_dim (int, opcional, valor predeterminado None) — El número de canales a utilizar para las proyecciones de clave y valor añadidas. Si es None, no se utiliza ninguna proyección.

Un modelo Transformer para datos tipo video utilizado en el 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)) — Entrada hidden_states.
  • timestep (torch.LongTensor) — Se utiliza para indicar el paso de desruido.
  • encoder_hidden_states (torch.Tensor de forma (batch_size, sequence_len, embed_dims)) — Incrustaciones condicionales (incrustaciones calculadas a partir de las condiciones de entrada, como los prompts) que se deben utilizar.
  • encoder_hidden_states_image (torch.Tensor, opcional) — Incrustaciones de imagen condicionales para la generación condicionada por imagen.
  • return_dict (bool, opcional, valor predeterminado True) — Indica si se debe devolver un ~models.transformer_2d.Transformer2DModelOutput en lugar de una tupla simple.
  • attention_kwargs (dict, opcional) — Un diccionario de kwargs que, si se especifica, se pasa al AttentionProcessor definido en self.processor dentro de diffusers.models.attention_processor.

El método forward de ChronoEditTransformer3DModel.

Transformer2DModelOutput

clase diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Parámetros

  • sample (torch.Tensor de forma (batch_size, num_channels, height, width) o (batch size, num_vector_embeds - 1, num_latent_pixels) si Transformer2DModel es discreto) — La salida de estados ocultos condicionada a la entrada encoder_hidden_states. Si es discreto, devuelve distribuciones de probabilidad para los píxeles latentes sin ruido.

La salida de Transformer2DModel.

Update on GitHub