Diffusers documentation
Lumina2Transformer2DModel
Lumina2Transformer2DModel
Un modèle Diffusion Transformer pour des données vidéo 3D a été introduit dans Lumina Image 2.0 par Alpha-VLLM.
Le modèle peut être chargé à l'aide du fragment de code suivant.
from diffusers import Lumina2Transformer2DModel
transformer = Lumina2Transformer2DModel.from_pretrained("Alpha-VLLM/Lumina-Image-2.0", subfolder="transformer", dtype=torch.bfloat16)Lumina2Transformer2DModel
classe diffusers.Lumina2Transformer2DModel
< source >( sample_size: int = 128patch_size: int = 2in_channels: int = 16out_channels: int | None = Nonehidden_size: int = 2304num_layers: int = 26num_refiner_layers: int = 2num_attention_heads: int = 24num_kv_heads: int = 8multiple_of: int = 256ffn_dim_multiplier: float | None = Nonenorm_eps: float = 1e-05scaling_factor: float = 1.0axes_dim_rope: tuple = (32, 32, 32)axes_lens: tuple = (300, 512, 512)cap_feat_dim: int = 1024 )
Paramètres
- sample_size (
int) — La largeur des images latentes. Cette valeur est fixe pendant l’entraînement, car elle est utilisée pour apprendre un nombre d’embeddings de position. - patch_size (
int, facultatif, (int, facultatif, par défaut 2) — La taille de chaque patch dans l'image. Ce paramètre définit la résolution des patches fournis au modèle. - in_channels (
int, facultatif, valeur par défaut 4) — Le nombre de canaux d'entrée du modèle. En général, ce nombre correspond au nombre de canaux des images d'entrée. - hidden_size (
int, facultatif, par défaut 4096) — La dimension des couches cachées du modèle. Ce paramètre détermine la largeur des représentations cachées du modèle. - num_layers (
int, facultatif, par défaut 32) — Le nombre de couches du modèle. Cela définit la profondeur du réseau de neurones. - num_attention_heads (
int, facultatif, valeur par défaut 32) — Le nombre de têtes d'attention dans chaque couche d'attention. Ce paramètre spécifie le nombre de mécanismes d'attention distincts utilisés. - num_kv_heads (
int, facultatif, valeur par défaut : 8) — Le nombre de têtes clé-valeur dans le mécanisme d'attention, s'il diffère du nombre de têtes d'attention. Si None, la valeur par défaut est num_attention_heads. - multiple_of (
int, facultatif, valeur par défaut 256) — Un facteur dont la taille cachée doit être un multiple. Cela peut aider à optimiser certaines configurations matérielles. - ffn_dim_multiplier (
float, facultatif) — Un multiplicateur pour la dimensionnalité du réseau feed-forward. Si None, il utilise une valeur par défaut basée sur la configuration du modèle. - norm_eps (
float, facultatif, valeur par défaut 1e-5) — Une petite valeur ajoutée au dénominateur pour la stabilité numérique dans les couches de normalisation. - scaling_factor (
float, facultatif, valeur par défaut 1.0) — Facteur d'échelle appliqué à certains paramètres ou couches du modèle. Il peut être utilisé pour ajuster l'échelle globale des opérations du modèle.
Lumina2NextDiT : modèle de diffusion avec un squelette Transformer.
forward
< source >( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorencoder_attention_mask: Tensorattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )
Paramètres
- hidden_states (
torch.Tensorde forme(batch_size, in_channels, 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_attention_mask (
torch.Tensor) — Masque appliqué àencoder_hidden_stateslors de l'attention. - 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. - return_dict (
bool, facultatif, par défautTrue) — Indique s'il faut retourner un~models.transformer_2d.Transformer2DModelOutputplutôt qu'un simple tuple.
La méthode forward du Lumina2Transformer2DModel.
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.