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

نموذج VAE للصور الخاص بـ P-H3-Image من Pruna AI. يستخدم هذا النموذج المُشفِّر (encoder) والمساحة الكامنة (latent space) الخاصة بـ VAE الفيديو في MiniMax-H3، مع مُفكِّك (decoder) من نوع ViT يقوم بفك ترميز إطار كامن واحد إلى صورة.

يتبع اتفاقيات AutoencoderKLMiniMaxH3:

  • تُمرَّر الصور كفيديوهات بإطار واحد، (batch_size, channels, 1, height, width)، مع ضغط مكاني بمقدار 16x.
  • تُطبَّع القيم الكامنة (Latents) لكل قناة باستخدام latents_mean / latents_std بدلاً من scaling_factor.
  • تكون البكسلات قيم RGB مُطبَّعة وفق معايير ImageNet ضمن المجال [0, 1]: يتوقع encode إدخال (pixel - imagenet_mean) / imagenet_std بينما يعيد decode النتيجة في ذلك المجال.
  • تكون التiling المكاني مفعّلاً افتراضياً، مع بلاطات بحجم 256 بكسل وتداخل لا يقل عن 64 بكسل.
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"

The encoder and the decoder’s output projection stay in float32 whatever dtype the model is loaded in.

AutoencoderKLPH3Image

فئة 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) )

VAE الصور الخاص بـ P-H3-Image: مُشفّر VAE ومساحة الكمون الخاصة بـ MiniMax-H3، مع PH3ImageViTDecoder يقوم بفك ترميز إطار كمون واحد.

تُمرَّر الصور كفيديوهات بإطار واحد، (batch_size, channels, 1, height, width). وكما في AutoencoderKLMiniMaxH3، تكون البكسلات بألوان RGB مُعايرة وفق ImageNet ضمن المدى [0, 1] (متوسط (0.485, 0.456, 0.406)، وانحراف معياري (0.229, 0.224, 0.225))، ويكون التقطيع المكاني مفعّلًا افتراضيًا.

encode

< >

( x: Tensorreturn_dict: bool = True )

المعاملات

  • x (torch.Tensor) — دفعة إدخال من الصور كفيديوهات بإطار واحد، الشكل (batch_size, in_channels, 1, height, width).
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع AutoencoderKLOutput بدلاً من tuple عادي.

ترميز دفعة من الصور إلى كامنات.

decode

< >

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

المعاملات

  • z (torch.Tensor) — دفعة الإدخال من الكمونيات، الشكل (batch_size, latent_channels, 1, height, width).
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع DecoderOutput بدلاً من tuple عادي.

يعيد

DecoderOutput أو tuple

الصور المُفكَّكة، الشكل (batch_size, out_channels, 1, height, width).

فكّ تشفير دفعة من الصور الكامنة.

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 )

المعاملات

  • tile_sample_min_height (int, اختياري) — ارتفاع البلاطة في فضاء البكسلات. تُقسَّم الإطارات الأطول من هذا الارتفاع على طول بُعد الارتفاع.
  • tile_sample_min_width (int, اختياري) — عرض البلاطة في فضاء البكسلات. تُقسَّم الإطارات الأوسع من هذا العرض على طول بُعد العرض.
  • tile_sample_min_overlap_height (int, اختياري) — أدنى تداخل، بالبكسل، بين بلاطتين عموديتين متتاليتين.
  • tile_sample_min_overlap_width (int, اختياري) — أدنى تداخل، بالبكسل، بين بلاطتين أفقيتين متتاليتين.

تفعيل ترميز/فك ترميز VAE المُقسّم إلى بلاطات. عند تفعيل هذا الخيار، يقوم VAE بتقسيم الإطارات إلى بلاطات، ثم يرمّز أو يفكّ ترميز كل بلاطة على حدة، وبعدها يمزج التداخلات خطياً لإعادة تجميعها. يقلّل هذا من متطلبات الذاكرة ويتيح معالجة إطارات أكبر.

forward

< >

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

المعاملات

  • sample (torch.Tensor) — دفعة إدخال من الصور كفيديوهات بإطار واحد، الشكل (batch_size, in_channels, 1, height, width).
  • sample_posterior (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم أخذ عينة من التوزيع اللاحق بدلاً من أخذ وضعه.
  • generator (torch.Generator، اختياري) — المولّد المستخدم عند sample_posterior=True.
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع DecoderOutput بدلاً من tuple عادي.

يعيد

DecoderOutput أو tuple

الصور المُعاد إرسالها، الشكل (batch_size, out_channels, 1, height, width).

encode ثم decode دفعة من الصور.

Update on GitHub