Buckets:
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_stden lugar de unscaling_factor. - Los píxeles son RGB normalizados con ImageNet sobre
[0, 1]:encodeespera(pixel - imagenet_mean) / imagenet_stdydecodedevuelve 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[[diffusers.AutoencoderKLPH3Image]]
diffusers.AutoencoderKLPH3Image[[diffusers.AutoencoderKLPH3Image]]
diffusers.AutoencoderKLPH3Image(in_channels: int = 3, out_channels: int = 3, latent_channels: int = 24, block_out_channels: tuple[int, ...] = (128, 256, 256, 512, 512, 1024), layers_per_block: int = 2, spatial_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 = 32, norm_eps: float = 1e-06, spatial_padding_mode: str = 'reflect', decoder_num_layers: int = 36, decoder_num_attention_heads: int = 32, decoder_attention_head_dim: int = 64, decoder_num_register_tokens: int = 4, decoder_ffn_mult: int = 4, decoder_rope_theta: float = 100.0, decoder_rope_dim_ratio: float = 0.75, decoder_norm_eps: float = 1e-05, latents_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[[diffusers.AutoencoderKLPH3Image.encode]]
encode(x: Tensor, return_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.
Devuelve:
La distribución latente de las imágenes codificadas. Tenga en cuenta que los latentes se normalizan con latents_mean / latents_std a continuación.
Codifica un lote de imágenes en latentes.
decode[[diffusers.AutoencoderKLPH3Image.decode]]
decode(z: Tensor, return_dict: bool = True)
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[[diffusers.AutoencoderKLPH3Image.enable_tiling]]
enable_tiling(tile_sample_min_height: int | None = None, tile_sample_min_width: int | None = None, tile_sample_min_overlap_height: int | None = None, tile_sample_min_overlap_width: int | None = None)
Parámetros:
tile_sample_min_height (int, opcional) : La altura de la tesela en el 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 mosaicos verticales consecutivos.
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[[diffusers.AutoencoderKLPH3Image.forward]]
forward(sample: Tensor, sample_posterior: bool = False, generator: typing.Optional[torch.Generator] = None, return_dict: bool = True)
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, por defecto 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.
Xet Storage Details
- Size:
- 7.7 kB
- Xet hash:
- 7ab9389c4567f08aadf068868d6e8dcc3ccd43e5763c9997a2b192a7d210acce
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.