Diffusers documentation
AutoencoderKLQwenImage21
AutoencoderKLQwenImage21
El autoencoder variacional de 64 canales utilizado por Qwen-Image 2.1. Comprime 16x espacialmente, y su latents_mean / latents_std por canal forma parte de la configuración en lugar de ser un único factor de escalado.
import torch
from diffusers import AutoencoderKLQwenImage21
vae = AutoencoderKLQwenImage21.from_pretrained("Qwen/Qwen-Image-2.1", subfolder="vae", dtype=torch.bfloat16)AutoencoderKLQwenImage21
clase 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 modelo VAE con pérdida KL para codificar videos en latentes y decodificar representaciones latentes en videos. Introducido en [Qwen Image 2].
Este modelo hereda de ModelMixin. Consulta la documentación de la clase superior para sus métodos genéricos implementados para todos los modelos (como la descarga o el guardado).
decode
< source >( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple
Parámetros
- z (
torch.Tensor) — Lote de entrada de vectores latentes. - return_dict (
bool, opcional, valor predeterminadoTrue) — Si se debe devolver un~models.vae.DecoderOutputen lugar de una tupla simple.
Devuelve
~models.vae.DecoderOutput o tuple
If return_dict is True, a ~models.vae.DecoderOutput is returned, otherwise a plain tuple is
returned.
Decodificar un lote de imágenes.
encode
< source >( x: Tensorreturn_dict: bool = True )
Codifica un lote de imágenes en latentes.
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 )
Parámetros
- tile_sample_min_height (
int, opcional) — La altura mínima requerida para que una muestra se separe en mosaicos a lo largo de la dimensión de altura. - tile_sample_min_width (
int, opcional) — El ancho mínimo requerido para que una muestra se separe en mosaicos a lo largo de la dimensión de ancho. - tile_sample_stride_height (
int, opcional) — La cantidad mínima de solapamiento entre dos mosaicos verticales consecutivos. Esto garantiza que no se produzcan artefactos de mosaico a lo largo de la dimensión de altura. - tile_sample_stride_width (
int, opcional) — La separación entre dos mosaicos horizontales consecutivos. Esto garantiza que no se produzcan artefactos de mosaico a lo largo de la dimensión de ancho.
Habilita la decodificación de VAE por mosaicos. Cuando esta opción está habilitada, el VAE dividirá el tensor de entrada en mosaicos para calcular la decodificación y la codificación en varios pasos. Esto es útil para ahorrar una gran cantidad de memoria y para permitir el procesamiento de imágenes más grandes.
forward
< source >( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → DecoderOutput or tuple
Parámetros
- sample (
torch.Tensor) — Muestra de entrada. - sample_posterior (
bool, opcional, por defectoFalse) — Si se debe muestrear de la posterior en lugar de tomar su modo. - return_dict (
bool, opcional, valor predeterminadoTrue) — Indica si se debe devolver unDecoderOutputen lugar de una tupla simple. - generator (
torch.Generator, opcional) — Generador utilizado cuandosample_posterioresTrue.
Devuelve
DecoderOutput o tuple
DecoderOutput si return_dict es True, de lo contrario una tuple simple.
tiled_decode
< source >( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple
Parámetros
- z (
torch.Tensor) — Lote de entrada de vectores latentes. - return_dict (
bool, opcional, valor predeterminadoTrue) — Indica si se debe devolver un~models.vae.DecoderOutputen lugar de una tupla simple.
Devuelve
~models.vae.DecoderOutput o tuple
If return_dict is True, a ~models.vae.DecoderOutput is returned, otherwise a plain tuple is
returned.
Decodificar un lote de imágenes usando un decodificador por mosaicos.
tiled_encode
< source >( x: Tensor ) → torch.Tensor
Codifica un lote de imágenes usando un codificador por mosaicos.
AutoencoderKLOutput
clase diffusers.models.modeling_outputs.AutoencoderKLOutput
< source >( latent_dist: DiagonalGaussianDistribution )
Salida del método de codificación de AutoencoderKL.
DecoderOutput
clase diffusers.models.autoencoders.vae.DecoderOutput
< source >( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )
Salida del método de decodificación.