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.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoencoderKLPH3Image

Pruna AI'nin P-H3-Image modelinin görüntü VAE'si. MiniMax-H3'ün video VAE'sindeki kodlayıcıyı ve gizli uzayı kullanır; tek bir gizli çerçeveyi görüntüye dönüştüren bir ViT çözücüye sahiptir.

AutoencoderKLMiniMaxH3 kurallarını takip eder:

  • Görüntüler, 16x uzamsal sıkıştırma ile tek kareli videolar olarak (batch_size, channels, 1, height, width) şeklinde geçirilir.
  • Latentler, scaling_factor yerine latents_mean / latents_std ile kanal başına normalize edilir.
  • Pikseller, [0, 1] aralığında ImageNet-normalize edilmiş RGB değerleridir: encode, (pixel - imagenet_mean) / imagenet_std biçiminde girdi bekler ve decode bu uzayı döndürür.
  • Mekansal karolar varsayılan olarak açıktır; 256 piksellik karolar ve en az 64 piksellik örtüşme kullanılır.
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"

Model hangi dtype ile yüklenirse yüklensin, kodlayıcı ve çözücünün çıktı projeksiyonu float32 olarak kalır.

AutoencoderKLPH3Image

sınıf diffusers.AutoencoderKLPH3Image

< >

( in_channels: int = 3out_channels: int = 3latent_channels: int = 24block_out_channels: tuple = (128, 256, 256, 512, 512, 1024)layers_per_block: int = 2spatial_downsample_factors: tuple = (2, 2, 2, 2, 1, 1)temporal_downsample_factors: tuple = (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 = (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 = (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) )

P-H3-Image'ın görüntü VAE'si: MiniMax-H3'ün VAE kodlayıcısı ve gizli uzayı, tek bir gizli çerçeveyi çözen bir PH3ImageViTDecoder ile.

Görseller, tek kareli videolar olarak iletilir: (batch_size, channels, 1, height, width). AutoencoderKLMiniMaxH3'te olduğu gibi, pikseller [0, 1] aralığında ImageNet-normalize edilmiş RGB değerleridir (ortalama (0.485, 0.456, 0.406), standart sapma (0.229, 0.224, 0.225)) ve uzamsal karolar (spatial tiling) varsayılan olarak açıktır.

encode

< >

( x: Tensorreturn_dict: bool = True )

Parametreler

  • x (torch.Tensor) — Tek kareli videolar olarak girdi görüntü partisi, şekli (batch_size, in_channels, 1, height, width).
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine AutoencoderKLOutput döndürülüp döndürülmemesi.

Bir görüntü grubunu latentlere kodlayın.

decode

< >

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

Parametreler

  • z (torch.Tensor) — Girdi partisi latentleri, şekli (batch_size, latent_channels, 1, height, width).
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine DecoderOutput döndürülüp döndürülmemesi.

Dönüş değeri

DecoderOutput veya tuple

Çözülen görüntülerin şekli (batch_size, out_channels, 1, height, width).

Bir latent görüntü grubunu çözümlenir.

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 )

Parametreler

  • tile_sample_min_height (int, isteğe bağlı) — Piksel uzayındaki karoların yüksekliği. Bu değerin daha yüksek olan kareler, yükseklik boyutu boyunca bölünür.
  • tile_sample_min_width (int, isteğe bağlı) — Piksel uzayındaki karoların genişliği. Bu değerden daha geniş olan kareler, genişlik boyutu boyunca bölünür.
  • tile_sample_min_overlap_height (int, isteğe bağlı) — İki ardışık dikey karo arasındaki minimum örtüşme, piksel cinsinden.
  • tile_sample_min_overlap_width (int, isteğe bağlı) — İki ardışık yatay karo arasındaki minimum örtüşme, piksel cinsinden.

Döşemeli VAE kodlama/çözme işlemini etkinleştirir. Bu seçenek etkinleştirildiğinde, VAE kareleri döşemelere ayırır, her döşemeyi ayrı ayrı kodlar veya çözer ve örtüşen kısımları doğrusal olarak birleştirir. Bu, bellek gereksinimini azaltır ve daha büyük karelerin işlenmesine olanak tanır.

forward

< >

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

Parametreler

  • sample (torch.Tensor) — Tek kareli videolar olarak girdi görüntü partisi, şekli (batch_size, in_channels, 1, height, width).
  • sample_posterior (bool, isteğe bağlı, varsayılan False) — Modunu almak yerine posterior dağılımdan örneklem alınıp alınmayacağını belirtir.
  • generator (torch.Generator, isteğe bağlı) — sample_posterior=True olduğunda kullanılan üreteç.
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine DecoderOutput döndürülüp döndürülmemesi.

Dönüş değeri

DecoderOutput veya tuple

Geri dönen görüntüler, şekli (batch_size, out_channels, 1, height, width).

Bir görüntü grubunu kodlayıp ardından çözümlendirin.

Update on GitHub