Buckets:
| # AutoencoderRAE | |
| نموذج مُشفِّر التمثيل التلقائي (RAE) الذي تم تقديمه في [حوّلات الانتشار مع مُشفِّرات التمثيل التلقائية](https://huggingface.co/papers/2510.11690) بواسطة Boyang Zheng وNanye Ma وShengbang Tong وSaining Xie من NYU VISIONx. | |
| يجمع RAE بين مُشفِّر رؤية مُجمَّد مُدرَّب مسبقًا (DINOv2 أو SigLIP2 أو MAE) ومُفكِّك قابل للتدريب على طراز ViT-MAE. في وصفة تدريب RAE ذات المرحلتين، يُدرَّب مُشفِّر-المُفكِّك التلقائي في المرحلة 1 (إعادة البناء)، ثم يُدرَّب نموذج انتشار على فضاء الكمون الناتج في المرحلة 2 (التوليد). | |
| تم إصدار نماذج RAE التالية ودعمها في Diffusers: | |
| | النموذج | المُشفِّر | شكل الكم (مدخل 224 بكسل) | | |
| |:------|:--------|:---------------------------| | |
| | [`nyu-visionx/RAE-dinov2-wReg-base-ViTXL-n08`](https://huggingface.co/nyu-visionx/RAE-dinov2-wReg-base-ViTXL-n08) | DINOv2-base | 768 x 16 x 16 | | |
| | [`nyu-visionx/RAE-dinov2-wReg-base-ViTXL-n08-i512`](https://huggingface.co/nyu-visionx/RAE-dinov2-wReg-base-ViTXL-n08-i512) | DINOv2-base (512 بكسل) | 768 x 32 x 32 | | |
| | [`nyu-visionx/RAE-dinov2-wReg-small-ViTXL-n08`](https://huggingface.co/nyu-visionx/RAE-dinov2-wReg-small-ViTXL-n08) | DINOv2-small | 384 x 16 x 16 | | |
| | [`nyu-visionx/RAE-dinov2-wReg-large-ViTXL-n08`](https://huggingface.co/nyu-visionx/RAE-dinov2-wReg-large-ViTXL-n08) | DINOv2-large | 1024 x 16 x 16 | | |
| | [`nyu-visionx/RAE-siglip2-base-p16-i256-ViTXL-n08`](https://huggingface.co/nyu-visionx/RAE-siglip2-base-p16-i256-ViTXL-n08) | SigLIP2-base | 768 x 16 x 16 | | |
| | [`nyu-visionx/RAE-mae-base-p16-ViTXL-n08`](https://huggingface.co/nyu-visionx/RAE-mae-base-p16-ViTXL-n08) | MAE-base | 768 x 16 x 16 | | |
| ## تحميل نموذج مُدرَّب مسبقًا | |
| ```python | |
| from diffusers import AutoencoderRAE | |
| model = AutoencoderRAE.from_pretrained( | |
| "nyu-visionx/RAE-dinov2-wReg-base-ViTXL-n08" | |
| ).to("cuda").eval() # or "mps", "xpu", "cpu" | |
| ``` | |
| ## ترميز وفك ترميز صورة حقيقية | |
| ```python | |
| import torch | |
| from diffusers import AutoencoderRAE | |
| from diffusers.utils import load_image | |
| from torchvision.transforms.functional import to_tensor, to_pil_image | |
| model = AutoencoderRAE.from_pretrained( | |
| "nyu-visionx/RAE-dinov2-wReg-base-ViTXL-n08" | |
| ).to("cuda").eval() # or "mps", "xpu", "cpu" | |
| image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png") | |
| image = image.convert("RGB").resize((224, 224)) | |
| x = to_tensor(image).unsqueeze(0).to("cuda") # (1, 3, 224, 224), values in [0, 1] | |
| with torch.no_grad(): | |
| latents = model.encode(x).latent # (1, 768, 16, 16) | |
| recon = model.decode(latents).sample # (1, 3, 256, 256) | |
| recon_image = to_pil_image(recon[0].clamp(0, 1).cpu()) | |
| recon_image.save("recon.png") | |
| ``` | |
| ## التطبيع الكامن | |
| تتضمن بعض نقاط التفتيش المُسبقة التدريب إحصاءات `latents_mean` و`latents_std` لكل قناة لتطبيع الفضاء الكامن. عند وجودها، تُطبّق `encode` و`decode` التطبيع وإزالة التطبيع تلقائيًا، على التوالي. | |
| ```python | |
| model = AutoencoderRAE.from_pretrained( | |
| "nyu-visionx/RAE-dinov2-wReg-base-ViTXL-n08" | |
| ).to("cuda").eval() # or "mps", "xpu", "cpu" | |
| # Latent normalization is handled automatically inside encode/decode | |
| # when the checkpoint config includes latents_mean/latents_std. | |
| with torch.no_grad(): | |
| latents = model.encode(x).latent # normalized latents | |
| recon = model.decode(latents).sample | |
| ``` | |
| ## AutoencoderRAE[[diffusers.AutoencoderRAE]] | |
| #### diffusers.AutoencoderRAE[[diffusers.AutoencoderRAE]] | |
| ```python | |
| diffusers.AutoencoderRAE(encoder_type: str = 'dinov2', encoder_hidden_size: int = 768, encoder_patch_size: int = 14, encoder_num_hidden_layers: int = 12, decoder_hidden_size: int = 512, decoder_num_hidden_layers: int = 8, decoder_num_attention_heads: int = 16, decoder_intermediate_size: int = 2048, patch_size: int = 16, encoder_input_size: int = 224, image_size: int | None = None, num_channels: int = 3, encoder_norm_mean: list | None = None, encoder_norm_std: list | None = None, latents_mean: typing.Union[list, tuple, torch.Tensor, NoneType] = None, latents_std: typing.Union[list, tuple, torch.Tensor, NoneType] = None, noise_tau: float = 0.0, reshape_to_2d: bool = True, use_encoder_loss: bool = False, scaling_factor: float = 1.0) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rae.py#L393) | |
| **المعاملات:** | |
| encoder_type (`str`، *اختياري*، القيمة الافتراضية `"dinov2"`) : نوع المُشفِّر المُجمَّد الذي سيتم استخدامه. أحد `"dinov2"` أو `"siglip2"` أو `"mae"`. | |
| encoder_hidden_size (`int`، *اختياري*، القيمة الافتراضية `768`) : حجم المخفي لنموذج المُشفِّر. | |
| encoder_patch_size (`int`، *اختياري*، القيمة الافتراضية `14`) : حجم الباتش (Patch size) لنموذج المُشفِّر. | |
| encoder_num_hidden_layers (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد الطبقات المخفية في نموذج المُشفِّر. | |
| patch_size (`int`، *اختياري*، القيمة الافتراضية `16`) : حجم الباتش في فك الترميز (يُستخدم في إزالة الباتش ورأس فك الترميز). | |
| encoder_input_size (`int`، *اختياري*، القيمة الافتراضية `224`) : حجم الإدخال المتوقع من قبل المُشفِّر. | |
| image_size (`int`, *اختياري*) : حجم صورة المخرج من فك الترميز. إذا كانت `None`، يتم اشتقاقه من عدد رموز الترميز و`patch_size` كما في RAE-main: `image_size = patch_size * sqrt(num_patches)`، حيث `num_patches = (encoder_input_size // encoder_patch_size) ** 2`. | |
| num_channels (`int`، *اختياري*، القيمة الافتراضية `3`) : عدد قنوات الإدخال/الإخراج. | |
| encoder_norm_mean (`list`، *اختياري*، القيمة الافتراضية `[0.485, 0.456, 0.406]`) : متوسط لكل قناة لتطبيع مدخلات المُشفِّر (القيم الافتراضية الخاصة بـ ImageNet). | |
| encoder_norm_std (`list`، *اختياري*، القيمة الافتراضية `[0.229, 0.224, 0.225]`) : الانحراف المعياري لكل قناة لتطبيع مدخلات المُشفِّر (القيم الافتراضية الخاصة بـ ImageNet). | |
| latents_mean (`list` أو `tuple`، *اختياري*) : متوسط اختياري لتطبيع الكمون. تُقبل مدخلات الموترات وتُحوَّل إلى قوائم قابلة للتسلسل في الإعداد. | |
| latents_std (`list` أو `tuple`، *اختياري*) : الانحراف المعياري الاختياري لتطبيع الكمون. تُقبل مدخلات الموترات وتُحوَّل إلى قوائم قابلة للتسلسل في الإعدادات. | |
| noise_tau (`float`، *اختياري*، القيمة الافتراضية `0.0`) : مستوى الضوضاء للتدريب (يضيف ضوضاء إلى الكمونات أثناء التدريب). | |
| reshape_to_2d (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إعادة تشكيل الكمونيات إلى صيغة ثنائية الأبعاد (B, C, H, W). | |
| use_encoder_loss (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان سيتم استخدام حالات المُشفِّر المخفية في الدالة الخاسرة (للتدريب المتقدم). | |
| نموذج Representation Autoencoder (RAE) لتشفير الصور إلى متغيرات كامنة وفك تشفير المتغيرات الكامنة إلى صور. | |
| يستخدم هذا النموذج مُشفِّرًا مُسبَق التدريب مُجمَّدًا (DINOv2 أو SigLIP2 أو MAE) مع مُفكِّك ViT قابل للتدريب لإعادة بناء الصور من التمثيلات المُتعلَّمة. | |
| يرث هذا النموذج من [ModelMixin](/docs/diffusers/main/ar/api/models/overview#diffusers.ModelMixin). راجع توثيق الفئة الأصلية لمعرفة طرقها العامة المُنفَّذة لجميع النماذج (مثل التنزيل أو الحفظ). | |
| #### ترميز[[diffusers.AutoencoderRAE.encode]] | |
| ```python | |
| encode(x: Tensor, return_dict: bool = True, generator: typing.Optional[torch.Generator] = None) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rae.py#L640) | |
| #### فك الترميز[[diffusers.AutoencoderRAE.decode]] | |
| ```python | |
| decode(z: Tensor, return_dict: bool = True) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rae.py#L671) | |
| #### forward[[diffusers.AutoencoderRAE.forward]] | |
| ```python | |
| forward(sample: Tensor, return_dict: bool = True, generator: typing.Optional[torch.Generator] = None) | |
| ``` | |
| [المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_rae.py#L682) | |
| **المعاملات:** | |
| sample (`torch.Tensor`) : عينة الإدخال. | |
| return_dict (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان يجب إرجاع `DecoderOutput` بدلاً من tuple عادي. | |
| generator (`torch.Generator`، *اختياري*) : [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) لجعل عملية أخذ العينات حتمية. | |
| **يعيد:** `DecoderOutput` أو `tuple` | |
| إذا كان `return_dict` صحيحًا، يُعاد `DecoderOutput`، وإلا يُعاد `tuple` عادي. | |
| ## 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/main/src/diffusers/models/autoencoders/vae.py#L49) | |
| **المعاملات:** | |
| sample (`torch.Tensor` من الشكل `(batch_size, num_channels, height, width)`) : عينة الإخراج المُفكّكة من الطبقة الأخيرة للنموذج. | |
| مخرجات طريقة فك الترميز. | |
Xet Storage Details
- Size:
- 10.8 kB
- Xet hash:
- 873f553544a49852927615192af80b6ccf6673efd06ed22d5eaf8923a2cf7817
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.