Diffusers documentation

HeliosTransformer3DModel

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

HeliosTransformer3DModel

Un modèle de diffusion Transformer autorégressif en temps réel de 14B (prenant en charge T2V, I2V et V2V) pour des données vidéo 3D de Helios a été introduit dans Helios: Real Real-Time Long Video Generation Model par l’Université de Pékin & ByteDance & d’autres.

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

from diffusers import HeliosTransformer3DModel

# Best Quality
transformer = HeliosTransformer3DModel.from_pretrained("BestWishYsh/Helios-Base", subfolder="transformer", dtype=torch.bfloat16)
# Intermediate Weight
transformer = HeliosTransformer3DModel.from_pretrained("BestWishYsh/Helios-Mid", subfolder="transformer", dtype=torch.bfloat16)
# Best Efficiency
transformer = HeliosTransformer3DModel.from_pretrained("BestWishYsh/Helios-Distilled", subfolder="transformer", dtype=torch.bfloat16)

HeliosTransformer3DModel

classe diffusers.HeliosTransformer3DModel

< >

( 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-06added_kv_proj_dim: int | None = Nonerope_dim: tuple = (44, 42, 42)rope_theta: float = 10000.0guidance_cross_attn: bool = Truezero_history_timestep: bool = Truehas_multi_term_memory_patch: bool = Trueis_amplify_history: bool = Falsehistory_scale_mode: str = 'per_head' )

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 Helios.

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorindices_hidden_states = Noneindices_latents_history_short = Noneindices_latents_history_mid = Noneindices_latents_history_long = Nonelatents_history_short = Nonelatents_history_mid = Nonelatents_history_long = 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.
  • indices_hidden_states (torch.Tensor, facultatif) — Indices de trame pour hidden_states utilisés pour calculer les embeddings positionnels rotatifs.
  • indices_latents_history_short (torch.Tensor, facultatif) — Indices des images pour les latents de l’historique court.
  • indices_latents_history_mid (torch.Tensor, facultatif) — Indices des images pour les latents de l’historique intermédiaire.
  • indices_latents_history_long (torch.Tensor, facultatif) — Indices des images pour les latents de l’historique long.
  • latents_history_short (torch.Tensor, facultatif) — Conditionnement par l’historique court des latents.
  • latents_history_mid (torch.Tensor, facultatif) — Conditionnement par les latents de l’historique intermédiaire.
  • latents_history_long (torch.Tensor, facultatif) — Conditionnement par l’historique long des latents.
  • 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 HeliosTransformer3DModel.

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