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

Un modèle Diffusion Transformer pour des données vidéo 3D, issu de ChronoEdit: Towards Temporal Reasoning for Image Editing and World Simulation de NVIDIA et de l’Université de Toronto, par 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.

En bref : ChronoEdit reformule l'édition d'images comme une tâche de génération de vidéo, en utilisant les images d'entrée et éditées comme images de début et de fin afin d'exploiter les modèles de vidéo préentraînés avec une cohérence temporelle. Une étape de raisonnement temporel introduit des jetons de raisonnement pour garantir des édictions physiquement plausibles et visualiser la trajectoire d'édition.

Le modèle peut être chargé à l'aide du fragment de code suivant.

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 )

Paramètres

  • patch_size (tuple[int], par défaut (1, 2, 2)) — Dimensions des patches 3D pour l'encodage vidéo (t_patch, h_patch, w_patch).
  • num_attention_heads (int, par défaut 40) — Longueur fixe pour les embeddings de texte.
  • attention_head_dim (int, par défaut 128) — Le nombre de canaux dans chaque tête.
  • in_channels (int, par défaut 16) — Le nombre de canaux dans l'entrée.
  • out_channels (int, par défaut 16) — Le nombre de canaux dans la sortie.
  • text_dim (int, par défaut 512) — Dimension d'entrée pour les embeddings de texte.
  • freq_dim (int, par défaut 256) — Dimension pour les embeddings temporels sinusoïdaux.
  • ffn_dim (int, par défaut 13824) — Dimension intermédiaire du réseau de propagation avant.
  • num_layers (int, par défaut 40) — Le nombre de blocs de transformeurs à utiliser.
  • window_size (tuple[int], par défaut (-1, -1)) — Taille de la fenêtre pour l'attention locale (-1 indique une attention globale).
  • cross_attn_norm (bool, par défaut True) — Active la normalisation de l'attention croisée.
  • qk_norm (bool, par défaut True) — Active la normalisation des requêtes/clés.
  • eps (float, par défaut 1e-6) — Valeur de l'épsilon pour les couches de normalisation.
  • add_img_emb (bool, par défaut False) — Indique s'il faut utiliser img_emb.
  • added_kv_proj_dim (int, facultatif, par défaut None) — Le nombre de canaux à utiliser pour les projections clés et valeurs ajoutées. Si None, aucune projection n’est utilisée.

Un modèle Transformer pour des données de type vidéo utilisé dans le modèle 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 )

Paramètres

  • hidden_states (torch.Tensor de forme (batch_size, num_channels, num_frames, height, width)) — hidden_states d'entrée.
  • timestep (torch.LongTensor) — Utilisé pour indiquer l'étape de débruitage.
  • encoder_hidden_states (torch.Tensor de forme (batch_size, sequence_len, embed_dims)) — Embeddings conditionnels (embeddings calculés à partir des conditions d’entrée telles que les prompts) à utiliser.
  • encoder_hidden_states_image (torch.Tensor, facultatif) — Embeddings d’image conditionnels pour la génération conditionnée par image.
  • return_dict (bool, facultatif, par défaut True) — Indique s'il faut retourner un ~models.transformer_2d.Transformer2DModelOutput plutôt qu'un simple tuple.
  • attention_kwargs (dict, facultatif) — Un dictionnaire de kwargs qui, s'il est spécifié, est transmis à l'AttentionProcessor défini sous self.processor dans diffusers.models.attention_processor.

La méthode forward du ChronoEditTransformer3DModel.

Transformer2DModelOutput

classe diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

Paramètres

  • sample (torch.Tensor de forme (batch_size, num_channels, height, width) ou (batch size, num_vector_embeds - 1, num_latent_pixels) si Transformer2DModel est discret) — Les états cachés en sortie, conditionnés par l'entrée encoder_hidden_states. Si discret, renvoie les distributions de probabilité pour les pixels latents non bruités.

La sortie de Transformer2DModel.

Update on GitHub