Buckets:

hf-doc-build/doc / diffusers /main /ar /api /models /autoencoderkl_p_h3_image.md
mishig's picture
|
download
raw
8.86 kB

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"

تبقى إخراجات الإسقاط الخاصة بالمُشفِّر والمُفكِّك في float32 بغضّ النظر عن dtype الذي يحمّل به النموذج.

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))

المصدر

نموذج 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))، ويكون التقطيع المكاني مفعّلًا افتراضيًا.

ترميز[[diffusers.AutoencoderKLPH3Image.encode]]

encode(x: Tensor, return_dict: bool = True)

المصدر

المعاملات:

x (torch.Tensor) : دفعة من الصور المدخلة كمقاطع فيديو بإطار واحد، الشكل (batch_size, in_channels, 1, height, width).

return_dict (bool، اختياري، الافتراضي True) : ما إذا كان يجب إرجاع AutoencoderKLOutput بدلاً من tuple عادي.

يعيد:

توزيع الكمون للصور المُرمّزة. لاحظ أن قيم الكمون تُطبَّع باستخدام latents_mean / latents_std بعد ذلك.

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

فك الترميز[[diffusers.AutoencoderKLPH3Image.decode]]

decode(z: Tensor, return_dict: bool = True)

المصدر

المعاملات:

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[[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)

المصدر

المعاملات:

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[[diffusers.AutoencoderKLPH3Image.forward]]

forward(sample: Tensor, sample_posterior: bool = False, generator: typing.Optional[torch.Generator] = None, return_dict: bool = True)

المصدر

المعاملات:

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 دفعة من الصور.

Xet Storage Details

Size:
8.86 kB
·
Xet hash:
160e98be89b06dec8bd376f2c8e8fc3fd5f2115dc54e82cc0b55f393e7976b8c

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.