Buckets:
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[[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)
Paramètres :
patch_size (tuple[int], par défaut (1, 2, 2)) : dimensions des patches 3D pour l'intégration 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 feed-forward.
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 d'é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 de clé et de valeur 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[[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)
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) : Incrustations d’images conditionnelles 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 tel que défini sous self.processor dans diffusers.models.attention_processor.
Retourne :
Si return_dict est True, un ~models.transformer_2d.Transformer2DModelOutput est renvoyé, sinon un tuple dont le premier élément est le tenseur d'échantillon.
La méthode forward du 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)
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.
Xet Storage Details
- Size:
- 6.46 kB
- Xet hash:
- 9d9006bc75c02b40f31f1bb9cae92a6db69ff02363520428c3ed281f9a27d4de
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.