Buckets:

hf-doc-build/doc / diffusers /main /es /api /models /chronoedit_transformer_3d.md
mishig's picture
|
download
raw
6.42 kB

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[[diffusers.ChronoEditTransformer3DModel]]

diffusers.ChronoEditTransformer3DModel[[diffusers.ChronoEditTransformer3DModel]]

diffusers.ChronoEditTransformer3DModel(patch_size: tuple[int] = (1, 2, 2), num_attention_heads: int = 40, attention_head_dim: int = 128, in_channels: int = 16, out_channels: int = 16, text_dim: int = 4096, freq_dim: int = 256, ffn_dim: int = 13824, num_layers: int = 40, cross_attn_norm: bool = True, qk_norm: str | None = 'rms_norm_across_heads', eps: float = 1e-06, image_dim: int | None = None, added_kv_proj_dim: int | None = None, rope_max_seq_len: int = 1024, pos_embed_seq_len: int | None = None, rope_temporal_skip_len: int = 8)

Fuente

Parámetros:

patch_size (tuple[int], por defecto (1, 2, 2)) : dimensiones de 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 incorporaciones 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 consulta/clave.

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[[diffusers.ChronoEditTransformer3DModel.forward]]

forward(hidden_states: Tensor, timestep: LongTensor, encoder_hidden_states: Tensor, encoder_hidden_states_image: typing.Optional[torch.Tensor] = None, return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None)

Fuente

Parámetros:

hidden_states (torch.Tensor de forma (batch_size, num_channels, num_frames, height, width)) : hidden_states de entrada.

timestep (torch.LongTensor) : Se utiliza para indicar el paso de desruido.

encoder_hidden_states (torch.Tensor de forma (batch_size, sequence_len, embed_dims)) : Embeddings condicionales (embeddings calculados a partir de las condiciones de entrada, como los prompts) a 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 tal como se define bajo self.processor en diffusers.models.attention_processor.

Devuelve:

Si return_dict es True, se devuelve un ~models.transformer_2d.Transformer2DModelOutput; en caso contrario, se devuelve una tuple cuyo primer elemento es el tensor de la muestra.

El método forward de ChronoEditTransformer3DModel.

Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]

diffusers.models.modeling_outputs.Transformer2DModelOutput(sample: torch.Tensor)

Fuente

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): las salidas de estados ocultos condicionadas a la entrada encoder_hidden_states. Si es discreto, devuelve distribuciones de probabilidad para los píxeles latentes sin ruido.

La salida de Transformer2DModel.

Xet Storage Details

Size:
6.42 kB
·
Xet hash:
291717187db24e23f8dcdadfe02d6fec1f6207ed4fb26f511205868ae28a4f5e

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.