Buckets:

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

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

diffusers.AutoencoderKLCogVideoX[[diffusers.AutoencoderKLCogVideoX]]

diffusers.AutoencoderKLCogVideoX(in_channels: int = 3, out_channels: int = 3, down_block_types: tuple[str] = ('CogVideoXDownBlock3D', 'CogVideoXDownBlock3D', 'CogVideoXDownBlock3D', 'CogVideoXDownBlock3D'), up_block_types: tuple[str] = ('CogVideoXUpBlock3D', 'CogVideoXUpBlock3D', 'CogVideoXUpBlock3D', 'CogVideoXUpBlock3D'), block_out_channels: tuple[int] = (128, 256, 256, 512), latent_channels: int = 16, layers_per_block: int = 3, act_fn: str = 'silu', norm_eps: float = 1e-06, norm_num_groups: int = 32, temporal_compression_ratio: float = 4, sample_height: int = 480, sample_width: int = 720, scaling_factor: float = 1.15258426, shift_factor: float | None = None, latents_mean: tuple[float] | None = None, latents_std: tuple[float] | None = None, force_upcast: float = True, use_quant_conv: bool = False, use_post_quant_conv: bool = False, invert_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. راجع توثيق الفئة الأصلية لمعرفة طرقه العامة المُنفَّذة لجميع النماذج (مثل التنزيل أو الحفظ).

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

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

المصدر

المعاملات:

z (torch.Tensor) : دفعة إدخال من المتجهات الكامنة.

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

يعيد: ~models.vae.DecoderOutput أو tuple

إذا كانت return_dict تساوي True، يُعاد ~models.vae.DecoderOutput، وإلا يُعاد tuple عادي.

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

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

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

المصدر

المعاملات:

x (torch.Tensor) : دفعة من الصور المدخلة.

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

يعيد:

تمثيلات الكامنة للفيديوهات المُرمّزة. إذا كان return_dict صحيحًا (True)، يُعاد ~models.autoencoder_kl.AutoencoderKLOutput، وإلا يُعاد tuple عادي.

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

enable_tiling[[diffusers.AutoencoderKLCogVideoX.enable_tiling]]

enable_tiling(tile_sample_min_height: int | None = None, tile_sample_min_width: int | None = None, tile_overlap_factor_height: float | None = None, tile_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[[diffusers.AutoencoderKLCogVideoX.forward]]

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

المصدر

المعاملات:

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[[diffusers.AutoencoderKLCogVideoX.tiled_decode]]

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

المصدر

المعاملات:

z (torch.Tensor) : دفعة إدخال من المتجهات الكامنة.

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

يعيد: ~models.vae.DecoderOutput أو tuple

إذا كانت return_dict تساوي True، يُعاد ~models.vae.DecoderOutput، وإلا يُعاد tuple عادي.

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

tiled_encode[[diffusers.AutoencoderKLCogVideoX.tiled_encode]]

tiled_encode(x: Tensor)

المصدر

المعاملات:

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

يعيد: torch.Tensor

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

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

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

AutoencoderKLOutput[[diffusers.models.modeling_outputs.AutoencoderKLOutput]]

diffusers.models.modeling_outputs.AutoencoderKLOutput[[diffusers.models.modeling_outputs.AutoencoderKLOutput]]

diffusers.models.modeling_outputs.AutoencoderKLOutput(latent_dist: DiagonalGaussianDistribution)

المصدر

المعاملات:

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

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

DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]]

diffusers.models.autoencoders.vae.DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]]

diffusers.models.autoencoders.vae.DecoderOutput(sample: Tensor, commit_loss: typing.Optional[torch.FloatTensor] = None)

المصدر

المعاملات:

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

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

Xet Storage Details

Size:
13.3 kB
·
Xet hash:
bd6c9d841efdef70d5e748705fb63b67f0942cb54b597f722dd3b9a28467ce81

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