Diffusers documentation
QwenImageTransformer2DModel
QwenImageTransformer2DModel
Le modèle peut être chargé à l'aide du fragment de code suivant.
from diffusers import QwenImageTransformer2DModel
transformer = QwenImageTransformer2DModel.from_pretrained("Qwen/QwenImage-20B", subfolder="transformer", dtype=torch.bfloat16)QwenImageTransformer2DModel
classe diffusers.QwenImageTransformer2DModel
< source >( patch_size: int = 2in_channels: int = 64out_channels: int | None = 16num_layers: int = 60attention_head_dim: int = 128num_attention_heads: int = 24joint_attention_dim: int = 3584guidance_embeds: bool = Falseaxes_dims_rope: tuple[int, int, int] = (16, 56, 56)zero_cond_t: bool = Falseuse_additional_t_cond: bool = Falseuse_layer3d_rope: bool = False )
Paramètres
- patch_size (
int, par défaut2) — Taille des patches pour découper les données d'entrée en petits patches. - in_channels (
int, par défaut64) — Le nombre de canaux dans l'entrée. - out_channels (
int, facultatif, par défautNone) — Le nombre de canaux dans la sortie. S'il n'est pas spécifié, il est par défaut égal àin_channels. - num_layers (
int, par défaut60) — Le nombre de blocs DiT à double flux à utiliser. - attention_head_dim (
int, par défaut128) — Le nombre de dimensions à utiliser pour chaque tête d'attention. - num_attention_heads (
int, par défaut24) — Le nombre de têtes d'attention à utiliser. - joint_attention_dim (
int, par défaut3584) — Le nombre de dimensions à utiliser pour l'attention conjointe (dimension d'embedding/canal deencoder_hidden_states). - guidance_embeds (
bool, par défautFalse) — Indique s'il faut utiliser des embeddings de guidance pour la variante du modèle distillée par guidance. - axes_dims_rope (
tuple[int], par défaut(16, 56, 56)) — Les dimensions à utiliser pour les embeddings positionnels rotatifs.
Le modèle Transformer introduit dans Qwen.
forward
< source >( hidden_states: Tensorencoder_hidden_states: Tensor = Noneencoder_hidden_states_mask: Tensor = Nonetimestep: LongTensor = Noneimg_shapes: list[tuple[int, int, int]] | None = Noneguidance: Tensor = Noneattention_kwargs: dict[str, typing.Any] | None = Nonecontrolnet_block_samples = Noneadditional_t_cond = Nonereturn_dict: bool = True )
Paramètres
- hidden_states (
torch.Tensorde forme(batch_size, image_sequence_length, in_channels)) —hidden_statesd'entrée. - encoder_hidden_states (
torch.Tensorde forme(batch_size, text_sequence_length, joint_attention_dim)) — Embeddings conditionnels (embeddings calculés à partir des conditions d’entrée telles que les prompts) à utiliser. - encoder_hidden_states_mask (
torch.Tensorde forme(batch_size, text_sequence_length), facultatif) — Masque pour les états cachés de l’encodeur. Il est attendu qu’il contienne 1.0 pour les jetons valides et 0.0 pour les jetons de bourrage. Utilisé dans le processeur d’attention pour empêcher l’attention de porter sur les jetons de bourrage. Le masque peut avoir n’importe quel motif (pas uniquement des jetons valides contigus suivis de bourrage) car il est appliqué élément par élément dans l’attention. - timestep (
torch.LongTensor) — Utilisé pour indiquer l'étape de débruitage. - img_shapes (
list[tuple[int, int, int]], facultatif) — Formes des images pour le calcul de RoPE. - guidance (
torch.Tensor, optional) — Guidance tensor for conditional generation. - 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. - controlnet_block_samples (facultatif) — Échantillons de blocs ControlNet à ajouter aux blocs du transformer.
- additional_t_cond (
torch.Tensor, facultatif) — Conditionnement supplémentaire de l'étape temporelle ajouté à l'incorporation de l'étape temporelle. - 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 QwenTransformer2DModel.
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.