Buckets:
| # AutoencoderKL | |
| طُرِح نموذج الترميز التلقائي التبايني (VAE) مع خسارة كولباك-ليبلر في [Auto-Encoding Variational Bayes](https://huggingface.co/papers/1312.6114v11) من قِبل Diederik P. Kingma وMax Welling. يُستخدم هذا النموذج في 🤗 Diffusers لتشفير الصور إلى تمثيلات كامنة (latents) وفك تشفير التمثيلات الكامنة إلى صور. | |
| ملخص الورقة البحثية هو: | |
| *كيف يمكننا إجراء الاستدلال والتعلم بكفاءة في النماذج الاحتمالية الموجّهة، في وجود متغيرات كامنة مستمرة ذات توزيعات خلفية غير قابلة للحل، ومجموعات بيانات كبيرة؟ نُقدّم خوارزمية استنتاج وتعلم تباينية عشوائية تتوسع لتناسب مجموعات البيانات الكبيرة، وتعمل حتى في الحالة غير القابلة للحل، تحت بعض شروط التفاضلية المعتدلة. مساهماتنا ثنائية. أولاً، نُظهر أن إعادة تمثيل الحد الأدنى التبايني ينتج عن مُقدِّر لحد أدنى يمكن تحسينه بسهولة باستخدام طرق التدرج العشوائي القياسية. ثانياً، نُظهر أنه في مجموعات البيانات المستقلة والمتطابقة التوزيع (i.i.d.) التي تحتوي على متغيرات كامنة مستمرة لكل نقطة بيانات، يمكن جعل الاستدلال الخلفي أكثر كفاءة بشكل خاص من خلال ملاءمة نموذج استدلال تقريبي (يُسمى أيضاً نموذج التعرف) للتوزيع الخلفي غير القابل للحل باستخدام مُقدِّر الحد الأدنى المقترح. تنعكس المزايا النظرية في النتائج التجريبية.* | |
| ## التحميل من التنسيق الأصلي | |
| بشكل افتراضي، يجب تحميل [AutoencoderKL](/docs/diffusers/v0.43.0/ar/api/models/autoencoderkl#diffusers.AutoencoderKL) باستخدام [from_pretrained()](/docs/diffusers/v0.43.0/ar/api/models/overview#diffusers.ModelMixin.from_pretrained)، لكن يمكن أيضًا تحميله من التنسيق الأصلي باستخدام `FromOriginalModelMixin.from_single_file` على النحو التالي: | |
| ```py | |
| from diffusers import AutoencoderKL | |
| url = "https://huggingface.co/stabilityai/sd-vae-ft-mse-original/blob/main/vae-ft-mse-840000-ema-pruned.safetensors" # can also be a local file | |
| model = AutoencoderKL.from_single_file(url) | |
| ``` | |
| ## AutoencoderKL[[diffusers.AutoencoderKL]] | |
| #### diffusers.AutoencoderKL[[diffusers.AutoencoderKL]] | |
| ```python | |
| diffusers.AutoencoderKL(in_channels: int = 3, out_channels: int = 3, down_block_types: tuple[str] = ('DownEncoderBlock2D',), up_block_types: tuple[str] = ('UpDecoderBlock2D',), block_out_channels: tuple[int] = (64,), layers_per_block: int = 1, act_fn: str = 'silu', latent_channels: int = 4, norm_num_groups: int = 32, sample_size: int = 32, scaling_factor: float = 0.18215, shift_factor: float | None = None, latents_mean: tuple[float] | None = None, latents_std: tuple[float] | None = None, force_upcast: bool = True, use_quant_conv: bool = True, use_post_quant_conv: bool = True, mid_block_add_attention: bool = True) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl.py#L36) | |
| **المعاملات:** | |
| 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"`) : دالة التنشيط المستخدمة. | |
| latent_channels (`int`، *اختياري*، القيمة الافتراضية 4) : عدد القنوات في الفضاء الكامن. | |
| sample_size (`int`، *اختياري*، القيمة الافتراضية `32`) : حجم الإدخال العينة. | |
| scaling_factor (`float`، *اختياري*، القيمة الافتراضية 0.18215) : الانحراف المعياري لكل مكوّن في الفضاء الكامن المُدرَّب، المُحسوب باستخدام الدفعة الأولى من مجموعة التدريب. يُستخدم هذا الانحراف لتقريب الفضاء الكامن بحيث يكون له تباين وحدة عند تدريب نموذج الانتشار. يتم تقريب الكمونات باستخدام الصيغة `z = z * scaling_factor` قبل تمريرها إلى نموذج الانتشار. عند فك الترميز، تُعاد الكمونات إلى المقياس الأصلي باستخدام الصيغة: `z = 1 / scaling_factor * z`. لمزيد من التفاصيل، راجع الأقسام 4.3.2 و D.1 من ورقة [High-Resolution Image Synthesis with Latent Diffusion Models](https://huggingface.co/papers/2112.10752). | |
| force_upcast (`bool`، *اختياري*، الافتراضي `True`) : إذا تم تفعيله، سيُجبر VAE على العمل بدقة float32 في خطوط الأنابيب ذات دقة الصور العالية، مثل SD-XL. يمكن ضبط VAE تدريبيًا / تدريبه على نطاق أدنى دون فقدان كبير في الدقة، وفي هذه الحالة يمكن تعيين `force_upcast` إلى `False` - انظر: https://huggingface.co/madebyollin/sdxl-vae-fp16-fix | |
| mid_block_add_attention (`bool`، *اختياري*، الافتراضي `True`) : إذا تم التفعيل، فإن mid_block في Encoder و Decoder سيحتوي على كتل انتباه (attention blocks). إذا تم ضبطه على false، فإن mid_block سيحتوي فقط على كتل resnet | |
| نموذج VAE مع خسارة KL لتشفير الصور إلى كامنات وفك تمثيل الكامنات إلى صور. | |
| يرث هذا النموذج من [ModelMixin](/docs/diffusers/v0.43.0/ar/api/models/overview#diffusers.ModelMixin). راجع توثيق الفئة الأصلية لمعرفة طرقه العامة المُنفَّذة لجميع النماذج (مثل التنزيل أو الحفظ). | |
| #### فك الترميز[[diffusers.AutoencoderKL.decode]] | |
| ```python | |
| decode(z: FloatTensor, return_dict: bool = True, generator = None) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl.py#L213) | |
| **المعاملات:** | |
| z (`torch.Tensor`) : دفعة إدخال من المتجهات الكامنة. | |
| return_dict (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إرجاع `~models.vae.DecoderOutput` بدلاً من tuple عادي. | |
| **يعيد:** `~models.vae.DecoderOutput` أو `tuple` | |
| إذا كانت return_dict تساوي True، يُعاد `~models.vae.DecoderOutput`، وإلا يُعاد `tuple` عادي. | |
| فكّ تشفير دفعة من الصور. | |
| #### ترميز[[diffusers.AutoencoderKL.encode]] | |
| ```python | |
| encode(x: Tensor, return_dict: bool = True) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl.py#L170) | |
| **المعاملات:** | |
| x (`torch.Tensor`) : دفعة من الصور المدخلة. | |
| return_dict (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان يجب إرجاع `~models.autoencoder_kl.AutoencoderKLOutput` بدلاً من tuple عادي. | |
| **يعيد:** | |
| تمثيلات الكامنة للصور المُرمّزة. إذا كان `return_dict` صحيحًا (True)، يُعاد `~models.autoencoder_kl.AutoencoderKLOutput`، وإلا يُعاد `tuple` عادي. | |
| ترميز دفعة من الصور إلى كامنات. | |
| #### forward[[diffusers.AutoencoderKL.forward]] | |
| ```python | |
| forward(sample: Tensor, sample_posterior: bool = False, return_dict: bool = True, generator: typing.Optional[torch.Generator] = None) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl.py#L413) | |
| **المعاملات:** | |
| sample (`torch.Tensor`) : عينة الإدخال. | |
| sample_posterior (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان سيتم أخذ عينة من التوزيع اللاحق. | |
| return_dict (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان يجب إرجاع `DecoderOutput` بدلاً من tuple عادي. | |
| generator (`torch.Generator`، *اختياري*) : [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) لجعل عملية أخذ العينات حتمية. | |
| **يعيد:** `~models.vae.DecoderOutput` أو `tuple` | |
| إذا كان `return_dict` صحيحًا، يُعاد `~models.vae.DecoderOutput`، وإلا يُعاد `tuple` عادي. | |
| #### fuse_qkv_projections[[diffusers.AutoencoderKL.fuse_qkv_projections]] | |
| ```python | |
| fuse_qkv_projections() | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl.py#L450) | |
| … | |
| > [!WARNING] > هذه الواجهة البرمجية 🧪 تجريبية. | |
| #### set_default_attn_processor[[diffusers.AutoencoderKL.set_default_attn_processor]] | |
| ```python | |
| set_default_attn_processor() | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl.py#L143) | |
| يعطّل معالجات الانتباه المخصصة ويضبط تطبيق الانتباه الافتراضي. | |
| #### tiled_decode[[diffusers.AutoencoderKL.tiled_decode]] | |
| ```python | |
| tiled_decode(z: Tensor, return_dict: bool = True) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl.py#L364) | |
| **المعاملات:** | |
| 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.AutoencoderKL.tiled_encode]] | |
| ```python | |
| tiled_encode(x: Tensor, return_dict: bool = True) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl.py#L302) | |
| **المعاملات:** | |
| x (`torch.Tensor`) : دفعة من الصور المدخلة. | |
| return_dict (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إرجاع `~models.autoencoder_kl.AutoencoderKLOutput` بدلاً من tuple عادي. | |
| **يعيد:** `~models.autoencoder_kl.AutoencoderKLOutput` أو `tuple` | |
| If return_dict is True, a `~models.autoencoder_kl.AutoencoderKLOutput` is returned, otherwise a plain `tuple` is returned. | |
| ترميز دفعة من الصور باستخدام مُرمِّز مُقسَّم إلى بلاطات. | |
| عند تمكين هذا الخيار، سيقوم VAE بتقسيم المصفوفة المدخلة إلى بلاطات لحساب الترميز في عدة خطوات. وهذا مفيد للحفاظ على ثبات استخدام الذاكرة بغض النظر عن حجم الصورة. النتيجة النهائية للترميز المبطن تختلف عن الترميز غير المبطن لأن كل بلاطة تستخدم مُرمِّزًا مختلفًا. ولتجنب آثار التبطين، تتداخل البلاطات وتُدمج معًا لتكوين مخرجات سلسة. قد لا تزال ترى تغييرات بحجم البلاطة في المخرجات، لكنها يجب أن تكون أقل وضوحًا بكثير. | |
| #### unfuse_qkv_projections[[diffusers.AutoencoderKL.unfuse_qkv_projections]] | |
| ```python | |
| unfuse_qkv_projections() | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl.py#L472) | |
| يعطّل إسقاط QKV المدمج إذا كان مفعّلًا. | |
| > [!WARNING] > هذه الواجهة البرمجية 🧪 تجريبية. | |
| ## AutoencoderKLOutput[[diffusers.models.modeling_outputs.AutoencoderKLOutput]] | |
| #### diffusers.models.modeling_outputs.AutoencoderKLOutput[[diffusers.models.modeling_outputs.AutoencoderKLOutput]] | |
| ```python | |
| diffusers.models.modeling_outputs.AutoencoderKLOutput(latent_dist: DiagonalGaussianDistribution) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/modeling_outputs.py#L7) | |
| **المعاملات:** | |
| latent_dist (`DiagonalGaussianDistribution`) : المخرجات المُرمّزة لـ`Encoder` ممثّلةً بمتوسط `DiagonalGaussianDistribution` ومتغيره اللوغاريتمي. تتيح `DiagonalGaussianDistribution` أخذ عينات من المتغيّرات الكامنة انطلاقًا من هذا التوزيع. | |
| مخرجات طريقة الترميز encoding في AutoencoderKL. | |
| ## DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]] | |
| #### diffusers.models.autoencoders.vae.DecoderOutput[[diffusers.models.autoencoders.vae.DecoderOutput]] | |
| ```python | |
| diffusers.models.autoencoders.vae.DecoderOutput(sample: Tensor, commit_loss: typing.Optional[torch.FloatTensor] = None) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/vae.py#L49) | |
| **المعاملات:** | |
| sample (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)`) : عينة الإخراج المُفكّكة من الطبقة الأخيرة للنموذج. | |
| مخرجات طريقة فك الترميز. | |
Xet Storage Details
- Size:
- 14.6 kB
- Xet hash:
- a32e3d8d76248e0ba56a908348bb27357d8661aaa4148f27d798cbf9a4a994f1
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.