Diffusers documentation

AutoencoderKLAllegro

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoencoderKLAllegro

تم تقديم نموذج الترميز التلقائي التبايني ثلاثي الأبعاد (VAE) مع خسارة KL المستخدم في Allegro في Allegro: Open the Black Box of Commercial-Level Video Generation Model بواسطة RhymesAI.

يمكن تحميل النموذج باستخدام مقتطف الشيفرة التالي.

from diffusers import AutoencoderKLAllegro

vae = AutoencoderKLAllegro.from_pretrained("rhymes-ai/Allegro", subfolder="vae", dtype=torch.float32).to("cuda")  # or "mps", "xpu", "cpu"

AutoencoderKLAllegro

فئة diffusers.AutoencoderKLAllegro

< >

( in_channels: int = 3out_channels: int = 3down_block_types: tuple[str, ...] = ('AllegroDownBlock3D', 'AllegroDownBlock3D', 'AllegroDownBlock3D', 'AllegroDownBlock3D')up_block_types: tuple[str, ...] = ('AllegroUpBlock3D', 'AllegroUpBlock3D', 'AllegroUpBlock3D', 'AllegroUpBlock3D')block_out_channels: tuple[int, ...] = (128, 256, 512, 512)temporal_downsample_blocks: tuple[bool, ...] = (True, True, False, False)temporal_upsample_blocks: tuple[bool, ...] = (False, True, True, False)latent_channels: int = 4layers_per_block: int = 2act_fn: str = 'silu'norm_num_groups: int = 32temporal_compression_ratio: float = 4sample_size: int = 320scaling_factor: float = 0.13force_upcast: bool = True )

المعاملات

  • in_channels (int، القيمة الافتراضية 3) — عدد القنوات في الصورة المدخلة.
  • out_channels (int، القيمة الافتراضية 3) — عدد القنوات في المخرجات.
  • down_block_types (tuple[str, ...]، القيمة الافتراضية ("AllegroDownBlock3D", "AllegroDownBlock3D", "AllegroDownBlock3D", "AllegroDownBlock3D")) — مجموعة من السلاسل النصية تحدد أنواع كتل التقليل (down blocks) المستخدمة.
  • up_block_types (tuple[str, ...]، القيمة الافتراضية ("AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D", "AllegroUpBlock3D")) — مجموعة من السلاسل النصية تحدد أنواع كتل التوسيع (up blocks) المستخدمة.
  • block_out_channels (tuple[int, ...]، القيمة الافتراضية (128, 256, 512, 512)) — مجموعة من الأعداد الصحيحة تشير إلى عدد قنوات الإخراج في كل كتلة.
  • temporal_downsample_blocks (tuple[bool, ...]، القيمة الافتراضية (True, True, False, False)) — مجموعة من القيم المنطقية تحدد الكتل التي سيتم تفعيل أخذ العينات الزمنية (temporal downsampling) فيها.
  • latent_channels (int، القيمة الافتراضية 4) — عدد القنوات في الكمونيات.
  • layers_per_block (int، القيمة الافتراضية 2) — عدد طبقات resnet أو الانتباه أو الالتفاف الزمني في كل كتلة هبوط/صعود.
  • act_fn (str، القيمة الافتراضية "silu") — دالة التنشيط المستخدمة.
  • norm_num_groups (int، القيمة الافتراضية 32) — عدد المجموعات المستخدمة في طبقات التطبيع.
  • temporal_compression_ratio (int، القيمة الافتراضية 4) — النسبة التي يتم بها ضغط البُعد الزمني للعينات.
  • sample_size (int، القيمة الافتراضية 320) — الحجم الافتراضي للكامن.
  • scaling_factor (float، القيمة الافتراضية 0.13235) — انحراف معياري لكل مكوّن في الفضاء الكامن المُدرَّب، محسوب باستخدام الدفعة الأولى من مجموعة التدريب. يُستخدم هذا العامل لتقريب الفضاء الكامن إلى تباين وحدة أثناء تدريب نموذج الانتشار. يتم تقريب الكمونات باستخدام الصيغة z = z * scaling_factor قبل تمريرها إلى نموذج الانتشار. عند فك الترميز، تُعاد الكمونات إلى مقياسها الأصلي باستخدام الصيغة: z = 1 / scaling_factor * z. لمزيد من التفاصيل، راجع الأقسام 4.3.2 و D.1 من ورقة High-Resolution Image Synthesis with Latent Diffusion Models.
  • force_upcast (bool، الافتراضي True) — إذا تم تفعيله، سيُجبر VAE على العمل بدقة float32 في خطوط الأنابيب ذات دقة الصور العالية، مثل SD-XL. يمكن ضبط VAE تدريبيًا / تدريبه على نطاق أدنى دون فقدان كبير في الدقة، وفي هذه الحالة يمكن تعيين force_upcast إلى False - انظر: https://huggingface.co/madebyollin/sdxl-vae-fp16-fix

نموذج VAE مع خسارة KL لتشفير مقاطع الفيديو إلى كامنات وفك تمثيل الكامنات إلى مقاطع فيديو. يُستخدم في Allegro.

يرث هذا النموذج من ModelMixin. راجع توثيق الفئة الأصلية لمعرفة طرقه العامة المُنفَّذة لجميع النماذج (مثل التنزيل أو الحفظ).

decode

< >

( z: Tensorreturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple

المعاملات

  • z (torch.Tensor) — دفعة إدخال من المتجهات الكامنة.
  • return_dict (bool، القيمة الافتراضية True) — ما إذا كان يجب إرجاع ~models.vae.DecoderOutput بدلاً من tuple عادي.

يعيد

~models.vae.DecoderOutput أو tuple

If return_dict is True, a ~models.vae.DecoderOutput is returned, otherwise a plain tuple is returned.

فكّ ترميز دفعة من مقاطع الفيديو.

encode

< >

( x: Tensorreturn_dict: bool = True )

المعاملات

  • x (torch.Tensor) — دفعة إدخال من مقاطع الفيديو.
  • return_dict (bool، القيمة الافتراضية True) — ما إذا كان يجب إرجاع ~models.autoencoder_kl.AutoencoderKLOutput بدلاً من tuple عادي.

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

forward

< >

( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → ~models.vae.DecoderOutput or tuple

المعاملات

  • sample (torch.Tensor) — عينة الإدخال.
  • sample_posterior (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم أخذ عينة من التوزيع اللاحق.
  • return_dict (bool، اختياري، القيمة الافتراضية True) — ما إذا كان يجب إرجاع DecoderOutput بدلاً من tuple عادي.
  • generator (torch.Generator، اختياري) — مولّد الأرقام العشوائية في PyTorch.

يعيد

~models.vae.DecoderOutput أو tuple

إذا كان return_dict صحيحًا، يُعاد ~models.vae.DecoderOutput، وإلا يُعاد tuple عادي.

AutoencoderKLOutput

فئة diffusers.models.modeling_outputs.AutoencoderKLOutput

< >

( latent_dist: DiagonalGaussianDistribution )

المعاملات

  • latent_dist (DiagonalGaussianDistribution) — المخرجات المُرمَّزة من Encoder ممثَّلةً بمتوسط DiagonalGaussianDistribution ومتغيره اللوغاريتمي. يتيح DiagonalGaussianDistribution أخذ عينات من المتغيرات الكامنة (latents) انطلاقًا من هذا التوزيع.

مخرجات طريقة الترميز encoding في AutoencoderKL.

DecoderOutput

فئة diffusers.models.autoencoders.vae.DecoderOutput

< >

( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )

المعاملات

  • sample (torch.Tensor من الشكل (batch_size, num_channels, height, width)) — عينة المخرجات المُفكَّكة من الطبقة الأخيرة للنموذج.

مخرجات طريقة فك الترميز.

Update on GitHub