Diffusers documentation
AutoencoderKLQwenImage21
AutoencoderKLQwenImage21
L'auto-encodeur variationnel à 64 canaux utilisé par Qwen-Image 2.1. Il compresse spatialement par un facteur de 16, et ses latents_mean / latents_std par canal font partie de la configuration plutôt que d'être un simple facteur d'échelle.
import torch
from diffusers import AutoencoderKLQwenImage21
vae = AutoencoderKLQwenImage21.from_pretrained("Qwen/Qwen-Image-2.1", subfolder="vae", dtype=torch.bfloat16)AutoencoderKLQwenImage21
classe diffusers.AutoencoderKLQwenImage21
< source >( base_dim: int = 96decoder_base_dim: int | None = 144z_dim: int = 64dim_mult: list = [1, 2, 4, 8, 8]num_res_blocks: int = 2attn_scales: list = []temperal_downsample: list = [False, True, True, True]dropout: float = 0.0latents_mean: list = [0.5126, 0.7721, -0.0631, 1.3506, -0.7855, -2.1025, -0.3458, 1.3722, 1.8873, -1.7177, -0.651, 0.2732, 0.7562, -0.6163, -1.0277, 3.8363, 2.021, 0.0472, 0.932, 2.0087, 2.4954, -0.1391, -1.4249, 1.8464, -0.5236, 1.2826, 3.7046, -1.3035, 2.7286, -1.4518, -1.9036, -1.9955, -0.0342, -1.0265, -0.7636, 3.0555, 0.0746, -3.0751, -0.1076, 1.7376, -1.0914, -1.9435, -0.2784, -1.368, 0.4809, -0.4433, 0.3764, 0.5729, -2.0595, 1.096, -1.326, -2.0211, -5.0179, 0.5275, 4.0162, 1.8505, 0.3026, 1.9373, 1.4937, 0.2632, 0.5547, -1.7121, -0.1562, 0.0304]latents_std: list = [3.2001, 3.2936, 3.4321, 3.0091, 3.1061, 4.0379, 4.0705, 3.791, 3.0785, 3.65, 3.9308, 3.0904, 2.8778, 3.7675, 3.732, 5.0756, 3.2864, 4.0397, 3.1317, 4.0443, 2.9249, 3.9454, 3.0988, 4.2489, 3.4896, 3.8513, 3.9323, 3.4719, 3.7498, 4.283, 3.5694, 4.2467, 3.9037, 3.2947, 5.077, 3.5075, 3.27, 3.4767, 2.8063, 5.1125, 3.5327, 4.7833, 3.1286, 4.1819, 3.8527, 3.8312, 3.5605, 4.3875, 3.9624, 4.0168, 3.5643, 4.055, 5.5614, 4.2963, 4.408, 3.4959, 3.8747, 3.7608, 3.5735, 3.149, 3.7662, 3.6746, 3.4563, 3.8161]is_residual: bool = Truein_channels: int = 4out_channels: int = 4patch_size: int | None = Nonescale_factor_temporal: int | None = 8scale_factor_spatial: int | None = 16 )
Un modèle VAE avec perte KL pour encoder des vidéos en latents et décoder des représentations latentes en vidéos. Introduit dans [Qwen Image 2].
Ce modèle hérite de ModelMixin. Consultez la documentation de la classe parente pour ses méthodes génériques implémentées pour tous les modèles (téléchargement ou sauvegarde, par exemple).
décoder
< source >( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple
Paramètres
- z (
torch.Tensor) — Lot d’entrée de vecteurs latents. - return_dict (
bool, facultatif, par défautTrue) — Indique s'il faut retourner un~models.vae.DecoderOutputplutôt qu'un simple tuple.
Retourne
~models.vae.DecoderOutput ou tuple
If return_dict is True, a ~models.vae.DecoderOutput is returned, otherwise a plain tuple is
returned.
Décoder un lot d'images.
encode
< source >( x: Tensorreturn_dict: bool = True )
Encode un lot d'images en latents.
enable_tiling
< source >( tile_sample_min_height: int | None = Nonetile_sample_min_width: int | None = Nonetile_sample_stride_height: float | None = Nonetile_sample_stride_width: float | None = None )
Paramètres
- tile_sample_min_height (
int, facultatif) — Hauteur minimale requise pour qu'un échantillon soit séparé en tuiles le long de la dimension de hauteur. - tile_sample_min_width (
int, facultatif) — Largeur minimale requise pour qu'un échantillon soit séparé en tuiles le long de la dimension de la largeur. - tile_sample_stride_height (
int, facultatif) — La quantité minimale de chevauchement entre deux tuiles verticales consécutives. Cela permet de s'assurer qu'aucun artefact de tuilage n'est produit le long de la dimension de hauteur. - tile_sample_stride_width (
int, facultatif) — La distance entre deux tuiles horizontales consécutives. Cela permet de s'assurer qu'aucun artefact de tuilage n'est produit le long de la dimension de la largeur.
Active le décodage VAE par tuiles. Lorsque cette option est activée, le VAE divise le tenseur d’entrée en tuiles pour effectuer le décodage et l’encodage en plusieurs étapes. Cela est utile pour économiser une grande quantité de mémoire et pour permettre le traitement d’images plus grandes.
forward
< source >( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → DecoderOutput or tuple
Paramètres
- sample (
torch.Tensor) — Échantillon d'entrée. - sample_posterior (
bool, facultatif, par défautFalse) — Indique s'il faut échantillonner à partir de la distribution a posteriori plutôt que de prendre son mode. - return_dict (
bool, facultatif, par défautTrue) — Indique s'il faut retourner unDecoderOutputplutôt qu'un simple tuple. - generator (
torch.Generator, facultatif) — Générateur utilisé lorsquesample_posteriorestTrue.
Retourne
DecoderOutput ou tuple
DecoderOutput si return_dict est True, sinon un simple tuple.
tiled_decode
< source >( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple
Paramètres
- z (
torch.Tensor) — Lot d’entrée de vecteurs latents. - return_dict (
bool, facultatif, par défautTrue) — Indique s'il faut retourner un~models.vae.DecoderOutputplutôt qu'un simple tuple.
Retourne
~models.vae.DecoderOutput ou tuple
If return_dict is True, a ~models.vae.DecoderOutput is returned, otherwise a plain tuple is
returned.
Décoder un lot d'images à l'aide d'un décodeur tuilé.
tiled_encode
< source >( x: Tensor ) → torch.Tensor
Encoder un lot d'images à l'aide d'un encodeur tuilé.
AutoencoderKLOutput
classe diffusers.models.modeling_outputs.AutoencoderKLOutput
< source >( latent_dist: DiagonalGaussianDistribution )
Sortie de la méthode d'encodage d'AutoencoderKL.
DecoderOutput
classe diffusers.models.autoencoders.vae.DecoderOutput
< source >( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )
Sortie de la méthode de décodage.