Diffusers documentation

AutoencoderKLCogVideoX

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

AutoencoderKLCogVideoX

تم تقديم نموذج الترميز التلقائي التبايني ثلاثي الأبعاد (VAE) مع خسارة KL المستخدم في CogVideoX في CogVideoX: نماذج انتشار نص إلى فيديو مع محوّل خبير من جامعة تسينغهوا و ZhipuAI.

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

from diffusers import AutoencoderKLCogVideoX

vae = AutoencoderKLCogVideoX.from_pretrained("THUDM/CogVideoX-2b", subfolder="vae", dtype=torch.float16).to("cuda")  # or "mps", "xpu", "cpu"

AutoencoderKLCogVideoX

فئة diffusers.AutoencoderKLCogVideoX

< >

( in_channels: int = 3out_channels: int = 3down_block_types: tuple = ('CogVideoXDownBlock3D', 'CogVideoXDownBlock3D', 'CogVideoXDownBlock3D', 'CogVideoXDownBlock3D')up_block_types: tuple = ('CogVideoXUpBlock3D', 'CogVideoXUpBlock3D', 'CogVideoXUpBlock3D', 'CogVideoXUpBlock3D')block_out_channels: tuple = (128, 256, 256, 512)latent_channels: int = 16layers_per_block: int = 3act_fn: str = 'silu'norm_eps: float = 1e-06norm_num_groups: int = 32temporal_compression_ratio: float = 4sample_height: int = 480sample_width: int = 720scaling_factor: float = 1.15258426shift_factor: float | None = Nonelatents_mean: tuple[float] | None = Nonelatents_std: tuple[float] | None = Noneforce_upcast: float = Trueuse_quant_conv: bool = Falseuse_post_quant_conv: bool = Falseinvert_scale_latents: bool = False )

المعاملات

  • in_channels (int، اختياري، القيمة الافتراضية 3) — عدد القنوات في الصورة المدخلة.
  • out_channels (int، اختياري، القيمة الافتراضية 3) — عدد القنوات في المخرجات.
  • down_block_types (tuple[str]، اختياري، الافتراضي ("DownEncoderBlock2D",)) — مجموعة من أنواع كتل التقليل (downsample).
  • up_block_types (tuple[str]، اختياري، الافتراضي ("UpDecoderBlock2D",)) — مجموعة من أنواع كتل التوسيع (upsample).
  • block_out_channels (tuple[int]، اختياري، الافتراضي (64,)) — مجموعة من قنوات مخرجات الكتل.
  • act_fn (str، اختياري، الافتراضي "silu") — دالة التنشيط المستخدمة.
  • sample_size (int، اختياري، القيمة الافتراضية 32) — حجم المدخلات العينة.
  • scaling_factor (float, اختياري، القيمة الافتراضية 1.15258426) — انحراف معياري لكل مكوّن في الفضاء الكامن المُدرَّب، محسوب باستخدام الدفعة الأولى من مجموعة التدريب. يُستخدم هذا الانحراف لتقريب الفضاء الكامن إلى تباين وحدة عند تدريب نموذج الانتشار. يتم تقريب الكمونات باستخدام الصيغة 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 لتشفير الصور إلى كامنات وفك تمثيل الكامنات إلى صور. يُستخدم في CogVideoX.

يرث هذا النموذج من 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 عادي.

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

enable_tiling

< >

( tile_sample_min_height: int | None = Nonetile_sample_min_width: int | None = Nonetile_overlap_factor_height: float | None = Nonetile_overlap_factor_width: float | None = None )

المعاملات

  • tile_sample_min_height (int, اختياري) — الحد الأدنى للارتفاع المطلوب حتى يتم فصل العينة إلى بلاطات عبر بُعد الارتفاع.
  • tile_sample_min_width (int, اختياري) — الحد الأدنى لعرض العينة المطلوب لفصلها إلى بلاطات عبر بُعد العرض.
  • tile_overlap_factor_height (int, اختياري) — الحد الأدنى من التداخل بين بلاطتين عموديتين متتاليتين. يهدف هذا إلى ضمان عدم ظهور أي شوائب تخطيط عبر بُعد الارتفاع. يجب أن يكون بين 0 و 1. قد يؤدي تعيين قيمة أعلى إلى معالجة المزيد من البلاطات مما يؤدي إلى إبطاء عملية فك الترميز.
  • tile_overlap_factor_width (int, اختياري) — الحد الأدنى من التداخل بين بلاطتين أفقيتين متتاليتين. يهدف هذا إلى ضمان عدم ظهور أي شوائب تخطيط عبر بُعد العرض. يجب أن يكون بين 0 و 1. قد يؤدي تعيين قيمة أعلى إلى معالجة المزيد من البلاطات مما يؤدي إلى إبطاء عملية فك الترميز.

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

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، اختياري) — torch.Generator لجعل عملية أخذ العينات حتمية.

يعيد

~models.vae.DecoderOutput أو tuple

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

tiled_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.

فكّ تشفير دفعة من الصور باستخدام مُفكّك مُجزّأ.

tiled_encode

< >

( x: Tensor ) → torch.Tensor

المعاملات

  • x (torch.Tensor) — دفعة إدخال من مقاطع الفيديو.

يعيد

torch.Tensor

التمثيل الكامن للفيديوهات المُرمّزة.

ترميز دفعة من الصور باستخدام مُرمِّز مُقسَّم إلى بلاطات.

عند تمكين هذا الخيار، سيقوم VAE بتقسيم المصفوفة المدخلة إلى بلاطات لحساب الترميز في عدة خطوات. وهذا مفيد للحفاظ على ثبات استخدام الذاكرة بغض النظر عن حجم الصورة. النتيجة النهائية للترميز المبطن تختلف عن الترميز غير المبطن لأن كل بلاطة تستخدم مشفراً مختلفاً. لتجنب آثار التبطين، تتداخل البلاطات وتُدمج معاً لتكوين مخرجات سلسة. قد لا تزال ترى تغييرات بحجم البلاطة في المخرجات، لكنها يجب أن تكون أقل وضوحاً بكثير.

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