Diffusers documentation

AutoencoderKLPH3Image

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.43.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoencoderKLPH3Image

El VAE de imágenes de P-H3-Image de Pruna AI. Utiliza el codificador y el espacio latente del VAE de video de MiniMax-H3, junto con un decodificador ViT que decodifica un único marco latente en una imagen.

Sigue las convenciones de AutoencoderKLMiniMaxH3:

  • Las imágenes se pasan como videos de un solo fotograma, (batch_size, channels, 1, height, width), con una compresión espacial de 16x.
  • Los latentes se normalizan por canal con latents_mean / latents_std en lugar de un scaling_factor.
  • Los píxeles son RGB normalizados con ImageNet sobre [0, 1]: encode espera (pixel - imagenet_mean) / imagenet_std y decode devuelve ese espacio.
  • El mosaico espacial está activado de forma predeterminada, con mosaicos de 256 píxeles y al menos 64 píxeles de solapamiento.
import torch
from diffusers import AutoencoderKLPH3Image

vae = AutoencoderKLPH3Image.from_pretrained("PrunaAI/P-H3-Image", subfolder="vae", dtype=torch.bfloat16).to(
    "cuda"
)  # or "mps", "xpu", "cpu"

La proyección de salida del codificador y del decodificador permanece en float32, sin importar el dtype en el que se cargue el modelo.

AutoencoderKLPH3Image

clase diffusers.AutoencoderKLPH3Image

< >

( in_channels: int = 3out_channels: int = 3latent_channels: int = 24block_out_channels: tuple[int, ...] = (128, 256, 256, 512, 512, 1024)layers_per_block: int = 2spatial_downsample_factors: tuple[int, ...] = (2, 2, 2, 2, 1, 1)temporal_downsample_factors: tuple[int, ...] = (1, 2, 2, 1, 1, 1)norm_num_groups: int = 32norm_eps: float = 1e-06spatial_padding_mode: str = 'reflect'decoder_num_layers: int = 36decoder_num_attention_heads: int = 32decoder_attention_head_dim: int = 64decoder_num_register_tokens: int = 4decoder_ffn_mult: int = 4decoder_rope_theta: float = 100.0decoder_rope_dim_ratio: float = 0.75decoder_norm_eps: float = 1e-05latents_mean: tuple[float, ...] = (0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)latents_std: tuple[float, ...] = (1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0) )

El VAE de imagen de P-H3-Image: el codificador VAE y el espacio latente de MiniMax-H3, con un PH3ImageViTDecoder que decodifica un único fotograma latente.

Las imágenes se pasan como videos de un solo fotograma, (batch_size, channels, 1, height, width). Al igual que en AutoencoderKLMiniMaxH3, los píxeles son RGB normalizados con ImageNet sobre [0, 1] (media (0.485, 0.456, 0.406), desviación estándar (0.229, 0.224, 0.225)) y el mosaico espacial está activado de forma predeterminada.

encode

< >

( x: Tensorreturn_dict: bool = True )

Parámetros

  • x (torch.Tensor) — Lote de entrada de imágenes como videos de un solo fotograma, con forma (batch_size, in_channels, 1, height, width).
  • return_dict (bool, opcional, valor predeterminado True) — Si se debe devolver un AutoencoderKLOutput en lugar de una tupla simple.

Codifica un lote de imágenes en latentes.

decode

< >

( z: Tensorreturn_dict: bool = True ) → DecoderOutput or tuple

Parámetros

  • z (torch.Tensor) — Lote de entrada de latentes, forma (batch_size, latent_channels, 1, height, width).
  • return_dict (bool, opcional, valor predeterminado True) — Si se debe devolver un DecoderOutput en lugar de una tupla simple.

Devuelve

DecoderOutput o tuple

Las imágenes decodificadas, con forma (batch_size, out_channels, 1, height, width).

Decodificar un lote de imágenes latentes.

enable_tiling

< >

( tile_sample_min_height: int | None = Nonetile_sample_min_width: int | None = Nonetile_sample_min_overlap_height: int | None = Nonetile_sample_min_overlap_width: int | None = None )

Parámetros

  • tile_sample_min_height (int, opcional) — La altura de la tesela en espacio de píxeles. Los fotogramas más altos que este valor se dividen a lo largo de la dimensión de altura.
  • tile_sample_min_width (int, opcional) — El ancho de la tesela en espacio de píxeles. Los fotogramas más anchos que este valor se dividen a lo largo de la dimensión de ancho.
  • tile_sample_min_overlap_height (int, opcional) — La superposición mínima, en píxeles, entre dos teselas verticales consecutivas.
  • tile_sample_min_overlap_width (int, opcional) — La superposición mínima, en píxeles, entre dos mosaicos horizontales consecutivos.

Habilita la codificación/decodificación de VAE por mosaicos. Cuando esta opción está habilitada, el VAE divide los fotogramas en mosaicos, codifica o decodifica cada mosaico por separado y combina linealmente las superposiciones. Esto reduce el requisito de memoria y permite procesar fotogramas más grandes.

forward

< >

( sample: Tensorsample_posterior: bool = Falsegenerator: typing.Optional[torch.Generator] = Nonereturn_dict: bool = True ) → DecoderOutput or tuple

Parámetros

  • sample (torch.Tensor) — Lote de entrada de imágenes como videos de un solo fotograma, con forma (batch_size, in_channels, 1, height, width).
  • sample_posterior (bool, opcional, valor predeterminado False) — Si se debe muestrear la posterior en lugar de tomar su modo.
  • generator (torch.Generator, opcional) — Generador utilizado cuando sample_posterior=True.
  • return_dict (bool, opcional, valor predeterminado True) — Si se debe devolver un DecoderOutput en lugar de una tupla simple.

Devuelve

DecoderOutput o tuple

Las imágenes de ida y vuelta, con forma (batch_size, out_channels, 1, height, width).

Codificar y luego decodificar un lote de imágenes.

Update on GitHub