# AutoModel

يسترجع [AutoModel](/docs/diffusers/v0.43.0/ar/api/models/auto_model#diffusers.AutoModel) تلقائيًا فئة النموذج الصحيحة من ملف `config.json`.

## AutoModel[[diffusers.AutoModel]]

#### diffusers.AutoModel[[diffusers.AutoModel]]

```python
diffusers.AutoModel(*args, **kwargs)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/auto_model.py#L27)

#### from_pretrained[[diffusers.AutoModel.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path: str | os.PathLike | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/auto_model.py#L155)

**المعاملات:**

pretrained_model_name_or_path (`str` أو `os.PathLike`، *اختياري*) : يمكن أن يكون أحد ما يلي: - نص، وهو *معرف النموذج* (مثل `google/ddpm-celebahq-256`) لنموذج مُدرَّب مسبقًا مستضاف على Hub. - مسار إلى *مجلد* (مثل `./my_model_directory`) يحتوي على أوزان النموذج المحفوظة باستخدام [save_pretrained()](/docs/diffusers/v0.43.0/ar/api/models/overview#diffusers.ModelMixin.save_pretrained).

cache_dir (`str | os.PathLike`، *اختياري*) : مسار إلى مجلد حيث تُخزَّن مؤقتًا إعدادات النموذج المُسبق التحميل المُحمَّل إذا لم يُستخدم التخزين المؤقت القياسي.

dtype (`torch.dtype`، *اختياري*) : تجاوز `torch.dtype` الافتراضي وتحميل النموذج بنوع بيانات آخر.

force_download (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إجبار إعادة تنزيل أوزان النموذج وملفات الإعداد، مع تجاوز النسخ المخزنة مؤقتًا إذا كانت موجودة.

proxies (`dict[str, str]`، *اختياري*) : قاموس لخوادم الوكيل (proxy servers) للاستخدام حسب البروتوكول أو نقطة النهاية، على سبيل المثال، `{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}`. تُستخدم هذه الوكلاء في كل طلب.

output_loading_info (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إرجاع قاموس يحتوي على المفاتيح المفقودة والمفاتيح غير المتوقعة ورسائل الأخطاء أم لا.

local_files_only(`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم تحميل أوزان النموذج وملفات الإعداد المحلية فقط أم لا. إذا تم ضبطه على `True`، فلن يتم تنزيل النموذج من Hub.

token (`str` أو *bool*، *اختياري*) : الرمز الذي يُستخدم كتوكن مصادقة HTTP bearer للملفات البعيدة. إذا كان `True`، يُستخدم التوكن المولّد من `diffusers-cli login` (المخزَّن في `~/.huggingface`).

revision (`str`، *اختياري*، القيمة الافتراضية `"main"`) : إصدار النموذج المحدد الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف التزامن، أو أي معرّف مسموح به بواسطة Git.

subfolder (`str`، *اختياري*، القيمة الافتراضية `""`) : موقع المجلد الفرعي لملف النموذج داخل مستودع نموذج أكبر على Hub أو محليًا.

mirror (`str`، *اختياري*) : مصدر مرآة لحل مشاكل إمكانية الوصول إذا كنت تقوم بتنزيل نموذج في الصين. نحن لا نضمن حداثة المصدر أو أمانه، وينبغي لك الرجوع إلى موقع المرآة لمزيد من المعلومات.

device_map (`str` أو `dict[str, int | str | torch.device]`، *اختياري*) : خريطة تحدد المكان الذي يجب أن يذهب إليه كل وحدة فرعية. لا حاجة لتحديدها لكل اسم معامل/مخزن؛ فبمجرد أن يكون اسم وحدة معينة داخلها، سيتم إرسال كل وحدة فرعية منها إلى نفس الجهاز. القيمة الافتراضية هي `None`، مما يعني أن النموذج سيُحمَّل على وحدة المعالجة المركزية (CPU). اضبط `device_map="auto"` ليحسب 🤗 Accelerate تلقائيًا `device_map` الأكثر تحسينًا. لمزيد من المعلومات حول كل خيار، راجع [تصميم خريطة الأجهزة](https://hf.co/docs/accelerate/main/en/usage_guides/big_modeling#designing-a-device-map).

max_memory (`Dict`، *اختياري*) : قاموس معرّف الجهاز للذاكرة القصوى. إذا لم يتم ضبطه، فسيتم افتراضياً استخدام أقصى ذاكرة متاحة لكل وحدة معالجة رسومية (GPU) والذاكرة العشوائية المتاحة للمعالج المركزي (CPU).

offload_folder (`str` أو `os.PathLike`، *اختياري*) : المسار لتفريغ الأوزان إذا احتوى `device_map` على القيمة `"disk"`.

offload_state_dict (`bool`, *اختياري*) : إذا كان `True`، يتم نقل حالة المعالج المركزي (CPU state dict) مؤقتًا إلى القرص الصلب لتجنب نفاد ذاكرة المعالج المركزي (CPU RAM) إذا لم يتسع وزن حالة المعالج المركزي (CPU state dict) بالإضافة إلى أكبر شريحة (shard) من نقطة الحفظ (checkpoint). القيمة الافتراضية هي `True` عند وجود أي نقل إلى القرص (disk offload).

low_cpu_mem_usage (`bool`، *اختياري*، القيمة الافتراضية هي `True` إذا كانت إصدار torch >= 1.9.0 وإلا `False`) : تسريع تحميل النموذج من خلال تحميل الأوزان المُسبقة التدريب فقط دون تهيئة الأوزان. كما يحاول هذا الخيار عدم استخدام أكثر من 1x حجم النموذج في ذاكرة المعالج المركزي (بما في ذلك الذروة) أثناء تحميل النموذج. مدعوم فقط لـ PyTorch >= 1.9.0. إذا كنت تستخدم إصدارًا أقدم من PyTorch، فإن تعيين هذا الحجة إلى `True` سيؤدي إلى رفع خطأ.

variant (`str`، *اختياري*) : تحميل الأوزان من ملف `variant` محدد مثل `"fp16"` أو `"ema"`.

use_safetensors (`bool`، *اختياري*، القيمة الافتراضية `None`) : إذا تم تعيينه إلى `None`، يتم تنزيل أوزان `safetensors` إذا كانت متاحة **و** إذا كانت مكتبة `safetensors` مثبتة. إذا تم تعيينه إلى `True`، يتم تحميل النموذج قسريًا من أوزان `safetensors`. إذا تم تعيينه إلى `False`، لا يتم تحميل أوزان `safetensors`.

disable_mmap ('bool', *اختياري*، القيمة الافتراضية هي 'False') : ما إذا كان سيتم تعطيل mmap عند تحميل نموذج Safetensors. يمكن أن يؤدي هذا الخيار إلى أداء أفضل عندما يكون النموذج على وحدة تخزين شبكية أو قرص صلب، حيث قد لا تتعامل هذه الوسائط بشكل جيد مع طبيعة عمليات البحث (seek) التي يتطلبها mmap.

trust_remote_cocde (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان يجب الثقة بالكود البعيد

أنشئ نموذج PyTorch مُدرَّب مسبقًا من تكوين نموذج مُدرَّب مسبقًا.

يُضبط النموذج على وضع التقييم - `model.eval()` - افتراضيًا، وتُعطَّل وحدات الإسقاط العشوائي (dropout). لتدريب النموذج، أعد ضبطه على وضع التدريب باستخدام `model.train()`.

> [!TIP] > لاستخدام النماذج الخاصة أو [النماذج المُقيَّدة](https://huggingface.co/docs/hub/models-gated#gated-models)، سجّل الدخول
باستخدام `hf > auth login`. يمكنك أيضًا تفعيل وضع ["offline-mode"](https://huggingface.co/diffusers/installation.html#offline-mode) الخاص لاستخدام هذه الطريقة في بيئة محمية بجدار ناري.

مثال:

```py
from diffusers import AutoModel

unet = AutoModel.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")
```

إذا ظهرت لك رسالة الخطأ أدناه، فأنت بحاجة إلى ضبط الأوزان لمهمتك التالية:

```bash
Some weights of UNet2DConditionModel were not initialized from the model checkpoint at stable-diffusion-v1-5/stable-diffusion-v1-5 and are newly initialized because the shapes did not match:
- conv_in.weight: found shape torch.Size([320, 4, 3, 3]) in the checkpoint and torch.Size([320, 9, 3, 3]) in the model instantiated
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
```

#### from_config[[diffusers.AutoModel.from_config]]

```python
from_config(pretrained_model_name_or_path_or_dict: str | os.PathLike | dict | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/auto_model.py#L38)

**المعاملات:**

pretrained_model_name_or_path_or_dict (`str`، `os.PathLike`، أو `dict`) : يمكن أن يكون أحد ما يلي: - نص، وهو *معرف النموذج* (مثل `google/ddpm-celebahq-256`) لإعدادات نموذج مُدرَّب مسبقًا مستضاف على Hub. - مسار إلى *مجلد* (مثل `./my_model_directory`) يحتوي على ملف إعدادات النموذج. - قاموس إعدادات.

cache_dir (`Union[str, os.PathLike]`، *اختياري*) : مسار إلى مجلد حيث تُخزَّن مؤقتًا إعدادات النموذج المُسبق التحميل المُحمَّل إذا لم يُستخدم التخزين المؤقت القياسي.

force_download (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إجبار (إعادة) تنزيل إعدادات النموذج، مع تجاوز النسخة المخزنة مؤقتًا إذا كانت موجودة.

proxies (`Dict[str, str]`، *اختياري*) : قاموس لخوادم الوكيل للاستخدام حسب البروتوكول أو نقطة النهاية.

local_files_only(`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان سيتم تحميل ملفات إعدادات النموذج المحلية فقط أم لا.

token (`str` أو *bool*، *اختياري*) : الرمز الذي يُستخدم كتوكن مصادقة HTTP bearer للملفات البعيدة.

revision (`str`، *اختياري*، القيمة الافتراضية `"main"`) : إصدار النموذج المحدد الذي سيتم استخدامه.

trust_remote_code (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان يجب الثقة بالكود البعيد.

subfolder (`str`، *اختياري*، القيمة الافتراضية `""`) : موقع المجلد الفرعي لملف النموذج داخل مستودع نموذج أكبر على Hub أو محليًا.

**يعيد:**

كائن نموذج مُنشأ من الإعدادات مع أوزان عشوائية.

أنشئ نموذجًا من قاموس إعدادات أو من ملف إعدادات نموذج مُدرَّب مسبقًا مع أوزان عشوائية (لا يتم تحميل أي أوزان مُدرَّبة مسبقًا).

مثال:

```py
from diffusers import AutoModel

model = AutoModel.from_config("stable-diffusion-v1-5/stable-diffusion-v1-5", subfolder="unet")
```

