Diffusers documentation
ChronoEditTransformer3DModel
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
< 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 )
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éfaut40) — Longueur fixe pour les embeddings de texte. - attention_head_dim (
int, par défaut128) — Le nombre de canaux dans chaque tête. - in_channels (
int, par défaut16) — Le nombre de canaux dans l'entrée. - out_channels (
int, par défaut16) — Le nombre de canaux dans la sortie. - text_dim (
int, par défaut512) — Dimension d'entrée pour les embeddings de texte. - freq_dim (
int, par défaut256) — Dimension pour les embeddings temporels sinusoïdaux. - ffn_dim (
int, par défaut13824) — Dimension intermédiaire du réseau de propagation avant. - num_layers (
int, par défaut40) — 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éfautTrue) — Active la normalisation de l'attention croisée. - qk_norm (
bool, par défautTrue) — Active la normalisation des requêtes/clés. - eps (
float, par défaut1e-6) — Valeur de l'épsilon pour les couches de normalisation. - add_img_emb (
bool, par défautFalse) — Indique s'il faut utiliser img_emb. - added_kv_proj_dim (
int, facultatif, par défautNone) — Le nombre de canaux à utiliser pour les projections clés et valeurs ajoutées. SiNone, 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
< 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 )
Paramètres
- hidden_states (
torch.Tensorde forme(batch_size, num_channels, num_frames, height, width)) —hidden_statesd'entrée. - timestep (
torch.LongTensor) — Utilisé pour indiquer l'étape de débruitage. - encoder_hidden_states (
torch.Tensorde 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éfautTrue) — Indique s'il faut retourner un~models.transformer_2d.Transformer2DModelOutputplutôt qu'un simple tuple. - attention_kwargs (
dict, facultatif) — Un dictionnaire de kwargs qui, s'il est spécifié, est transmis à l'AttentionProcessordéfini sousself.processordans diffusers.models.attention_processor.
La méthode forward du ChronoEditTransformer3DModel.
Transformer2DModelOutput
classe diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
Paramètres
- sample (
torch.Tensorde 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éeencoder_hidden_states. Si discret, renvoie les distributions de probabilité pour les pixels latents non bruités.
La sortie de Transformer2DModel.