Diffusers documentation
AutoencoderKLPH3Image
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_factoryerinelatents_mean/latents_stdile kanal başına normalize edilir. - Pikseller,
[0, 1]aralığında ImageNet-normalize edilmiş RGB değerleridir:encode,(pixel - imagenet_mean) / imagenet_stdbiçiminde girdi bekler vedecodebu 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
< source >( 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
< source >( 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ılanTrue) — Düz bir tuple yerine AutoencoderKLOutput döndürülüp döndürülmemesi.
Bir görüntü grubunu latentlere kodlayın.
decode
< source >( 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ılanTrue) — 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
< source >( 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
< source >( 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ılanFalse) — Modunu almak yerine posterior dağılımdan örneklem alınıp alınmayacağını belirtir. - generator (
torch.Generator, isteğe bağlı) —sample_posterior=Trueolduğunda kullanılan üreteç. - return_dict (
bool, isteğe bağlı, varsayılanTrue) — 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.