# الإعداد

تُنفّذ الفئة الأساسية [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) الطرق المشتركة لتحميل/حفظ الإعدادات من ملف أو مجلد محلي، أو من إعدادات نموذج مُدرَّب مسبقًا توفره المكتبة (يتم تنزيلها من مستودع AWS S3 الخاص بـ HuggingFace).

تُنفّذ كل فئة إعداد مشتقة سمات خاصة بالنموذج. السمة المشتركة الموجودة في جميع فئات الإعداد هي: `hidden_size`، و`num_attention_heads`، و`num_hidden_layers`. كما تُنفّذ نماذج النصّ السمة التالية: `vocab_size`.

## PreTrainedConfig[[transformers.PreTrainedConfig]]

#### transformers.PreTrainedConfig[[transformers.PreTrainedConfig]]

```python
transformers.PreTrainedConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L299)

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

name_or_path (`str`، *اختياري*، القيمة الافتراضية `""`) : تخزين السلسلة التي تم تمريرها إلى [PreTrainedModel.from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) كـ`pretrained_model_name_or_path` إذا تم إنشاء التهيئة باستخدام طريقة مماثلة.

output_hidden_states (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب على النموذج إرجاع جميع حالات الإخفاء (hidden-states) أم لا.

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

return_dict (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب على النموذج إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

is_encoder_decoder (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان النموذج يُستخدم كمُشفِّر/مُفكِّك أم لا.

chunk_size_feed_forward (`int`، *اختياري*، القيمة الافتراضية `0`) : حجم المقطع لجميع طبقات التقدّم الأمامي في كتل الانتباه المتبقي. حجم مقطع يساوي `0` يعني أن طبقة التقدّم الأمامي غير مقسّمة إلى مقاطع. حجم مقطع يساوي n يعني أن طبقة التقدّم الأمامي تعالج `n` < sequence_length من التضمينات في كل مرة. لمزيد من المعلومات حول تقطيع التقدّم الأمامي، راجع [كيف يعمل تقطيع التقدّم الأمامي؟](../glossary.html#feed-forward-chunking).

per_layer_config (`dict[int | str, dict[str, Any]]`، *اختياري*) : إسناد متناثر من فهارس الطبقات إلى تجاوزات سمات التهيئة. كل مفتاح هو فهرس طبقة، وكل قيمة تحتوي على السمات التي تختلف عن التهيئة العامة لتلك الطبقة.

tie_last_hidden_states (`bool`، *اختياري*) : ما إذا كان ينبغي أن يكون `hidden_states[-1]` هو `last_hidden_state` بعد تطبيق التطبيع النهائي بدلاً من حالة الإخفاء قبل التطبيع النهائي. إذا لم يتم تعيينه، يُستخدم الافتراضي المدمج في النموذج.

**المعاملات الخاصة بمهام الضبط الدقيق:**

architectures (`list[str]`، *اختياري*) : بنية النموذج التي يمكن استخدامها مع أوزان النموذج المُسبقة التدريب.

id2label (`dict[int, str]`، *اختياري*) : خريطة من الفهرس (مثل فهرس التنبؤ، أو فهرس الهدف) إلى التسمية.

label2id (`dict[str, int]`، *اختياري*) : خريطة من التسمية إلى الفهرس للنموذج.

num_labels (`int`، *اختياري*) : عدد التسميات المستخدمة في الطبقة الأخيرة المضافة إلى النموذج، وعادةً ما يكون ذلك لمهمة تصنيف.

problem_type (`str`, *اختياري*) : نوع المشكلة لنماذج `XxxForSequenceClassification`. يمكن أن يكون أحد `"regression"` أو `"single_label_classification"` أو `"multi_label_classification"`.

**معلمات خاصة بـ PyTorch:**

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

الفئة الأساسية لجميع فئات الإعدادات. تتعامل مع بعض المعلمات المشتركة بين إعدادات جميع النماذج، بالإضافة إلى طرق لتحميل/تنزيل/حفظ الإعدادات.

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

خصائص الفئة (تُستبدل من قِبل الفئات المشتقة):

- **model_type** (`str`) -- معرّف لنوع النموذج، يُسلسل في ملف JSON، ويُستخدم لإعادة إنشاء الكائن الصحيح في [AutoConfig](/docs/transformers/main/ar/model_doc/auto#transformers.AutoConfig).
- **attribute_map** (`dict[str, str]`) -- قاموس يربط بين أسماء السمات الخاصة بالنموذج والتسمية الموحدة للسمات.
- **base_model_tp_plan** (`dict[str, Any]`) -- قاموس يربط بين أسماء الوحدات الفرعية الكاملة (FQNs) لنموذج أساسي وخطة التوازي على مستوى الموترات المطبقة على الوحدة الفرعية عند استدعاء `model.tensor_parallel`.
- **base_model_fsdp_plan** (`dict[Any, str]`) -- قاموس يربط بين الوحدات الفرعية لنموذج أساسي واستراتيجية تجزئة FSDP2 (مثل `"free_full_weight"` / `"keep_full_weight"`). يمكن أن تكون المفاتيح مسارات وحدات برية (مثل `"layers.*"`) أو مجموعات من المسارات (تُجمَّع في استدعاء واحد لـ `fully_shard`).
- **base_model_pp_plan** (`dict[str, tuple[list[str]]]`) -- قاموس يربط وحدات النموذج الأساسية الفرعية بخطة موازاة خط الأنابيب التي تتيح للمستخدمين وضع الوحدة الفرعية على الجهاز المناسب.

الخصائص المشتركة (الموجودة في جميع الفئات الفرعية):

- **vocab_size** (`int`) -- عدد الرموز في قاموس الكلمات، وهو أيضاً البُعد الأول لمصفوفة التضمينات (قد يكون هذا السمة مفقوداً في النماذج التي لا تحتوي على نمط نصي مثل ViT).
- **hidden_size** (`int`) -- حجم الطبقة المخفية في النموذج.
- **num_attention_heads** (`int`) -- عدد رؤوس الانتباه المستخدمة في طبقات الانتباه متعددة الرؤوس في النموذج.
- **num_hidden_layers** (`int`) -- عدد الكتل في النموذج.

إن ضبط معاملات توليد التسلسل في إعدادات النموذج لم يعد مدعومًا. من أجل التوافق مع الإصدارات السابقة، سيظل تحميل بعض هذه المعاملات ممكنًا، لكن محاولة تجاوزها ستؤدي إلى طرح استثناء -- يجب عليك ضبطها في [~transformers.GenerationConfig]. راجع توثيق [~transformers.GenerationConfig] لمزيد من المعلومات حول المعاملات الفردية.

#### push_to_hub[[transformers.PreTrainedConfig.push_to_hub]]

```python
push_to_hub(repo_id: str, commit_message: str | None = None, commit_description: str | None = None, private: bool | None = None, token: bool | str | None = None, revision: str | None = None, create_pr: bool = False, max_shard_size: int | str | None = '50GB', tags: list[str] | None = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/utils/hub.py#L822)

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

repo_id (`str`) : اسم المستودع الذي تريد دفع إعداداتك إليه. يجب أن يحتوي على اسم مؤسستك عند الدفع إلى مؤسسة محددة.

commit_message (`str`، *اختياري*) : الرسالة التي سيتم الالتزام بها أثناء الدفع. ستكون الافتراضية `"Upload config"`.

commit_description (`str`، *اختياري*) : وصف الالتزام الذي سيتم إنشاؤه

private (`bool`، *اختياري*) : ما إذا كان سيتم جعل المستودع خاصًا. إذا كانت القيمة `None` (الافتراضي)، فسيكون المستودع عامًا ما لم يكن الافتراضي الخاص بالمنظمة هو الخاص. يتم تجاهل هذه القيمة إذا كان المستودع موجودًا مسبقًا.

token (`bool` أو `str`، *اختياري*) : الرمز الذي يُستخدم كترخيص HTTP bearer للملفات البعيدة. إذا كان `True` (الافتراضي)، فسيتم استخدام الرمز الذي تم إنشاؤه عند تشغيل `hf auth login` (المخزّن في `~/.huggingface`).

revision (`str`، *اختياري*) : الفرع الذي سيتم دفع الملفات المرفوعة إليه.

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

max_shard_size (`int` أو `str`، *اختياري*، القيمة الافتراضية `"50GB"`) : ينطبق على النماذج فقط. الحد الأقصى لحجم نقطة التفتيش قبل تقسيمها إلى أجزاء. ستكون نقاط التفتيش المقسمة بعد ذلك أصغر من هذا الحجم. إذا تم التعبير عنها كنص، فيجب أن تتكون من أرقام تليها وحدة (مثل `"5MB"`).

tags (`list[str]`، *اختياري*) : قائمة بالوسوم التي سيتم دفعها إلى Hub.

ارفع ملف الإعدادات إلى 🤗 Model Hub.

أمثلة:

```python
from transformers import AutoConfig

config = AutoConfig.from_pretrained("google-bert/bert-base-cased")

# Push the config to your namespace with the name "my-finetuned-bert".
config.push_to_hub("my-finetuned-bert")

# Push the config to an organization with the name "my-finetuned-bert".
config.push_to_hub("huggingface/my-finetuned-bert")
```

#### default_config_fields[[transformers.PreTrainedConfig.default_config_fields]]

```python
default_config_fields()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1471)

يحصل على القيم الافتراضية لكل حقول مُعلَّمة في dataclass، ويُستخدم لحفظ diff-dict. بالنسبة للإعدادات التي أُنشئت في v4 مع `__init__` مخصص، سيعيد قاموسًا فارغًا، مما يؤدي إلى حفظ جميع المفاتيح في `self.__dict__`. أما بالنسبة للإعدادات الأحدث، سيعيد المفاتيح التي تم إعلان قيمها الافتراضية كحقول، بدلاً من ذلك في `__post_init__`، مما يستبعد فقط هذه الحقول المحددة من ملف json المُسلسَل.

#### dict_dtype_to_str[[transformers.PreTrainedConfig.dict_dtype_to_str]]

```python
dict_dtype_to_str(d: dict[str, Any])
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1392)

يتحقق مما إذا كان القاموس المُمرَّر وجميع القواميس المتداخلة بداخله تحتوي على مفتاح *dtype*، وإذا لم يكن القيمة None، فإنه يحوّل torch.dtype إلى نص يحتوي على النوع فقط. على سبيل المثال، يتم تحويل `torch.float32` إلى نص *"float32"*، والذي يمكن تخزينه بعد ذلك بتنسيق json.

#### from_dict[[transformers.PreTrainedConfig.from_dict]]

```python
from_dict(config_dict: dict[str, Any], **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1051)

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

config_dict (`dict[str, Any]`) : قاموس سيُستخدم لإنشاء كائن الإعدادات. يمكن الحصول على مثل هذا القاموس من نقطة تحقق مُدرَّبة مسبقًا بالاستعانة بطريقة [get_config_dict()](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig.get_config_dict).

kwargs (`dict[str, Any]`) : معلمات إضافية يتم من خلالها تهيئة كائن الإعدادات.

**يعيد:** [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig)

كائن الإعداد المُستخدَم من تلك المعاملات.

يُشغّل كائن [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) من قاموس Python للمعاملات.

#### from_json_file[[transformers.PreTrainedConfig.from_json_file]]

```python
from_json_file(json_file: str | os.PathLike)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1112)

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

json_file (`str` أو `os.PathLike`) : المسار إلى ملف JSON الذي يحتوي على المعلمات.

**يعيد:** [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig)

كائن التهيئة المُثبَّت من ملف JSON ذلك.

يُحدِث كائنًا من نوع [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) من المسار إلى ملف JSON يحتوي على المعلمات.

#### from_pretrained[[transformers.PreTrainedConfig.from_pretrained]]

```python
from_pretrained(pretrained_model_name_or_path: str | os.PathLike, cache_dir: str | os.PathLike | None = None, force_download: bool = False, local_files_only: bool = False, token: str | bool | None = None, revision: str = 'main', **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L794)

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

pretrained_model_name_or_path (`str` أو `os.PathLike`) : يمكن أن يكون هذا: - نصًا، وهو *model id* لإعدادات نموذج مُدرَّب مسبقًا مستضاف داخل مستودع نماذج على huggingface.co. - مسارًا إلى *directory* يحتوي على ملف إعدادات محفوظ باستخدام طريقة [save_pretrained()](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig.save_pretrained)، على سبيل المثال `./my_model_directory/`. - مسارًا إلى ملف *file* JSON للإعدادات المحفوظ، على سبيل المثال `./my_model_directory/configuration.json`.

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

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

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

token (`str` أو `bool`، *اختياري*) : الرمز الذي يُستخدم كرمز تفويض HTTP bearer للملفات البعيدة. إذا كان `True`، أو لم يُحدد، فسيتم استخدام الرمز الذي تم إنشاؤه عند تشغيل `hf auth login` (المخزَّن في `~/.huggingface`).

revision (`str`، *اختياري*، القيمة الافتراضية `"main"`) : إصدار النموذج المحدد الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف التزامن، نظرًا لأننا نستخدم نظامًا قائمًا على git لتخزين النماذج والمخرجات الأخرى على huggingface.co، لذا يمكن أن يكون `revision` أي معرّف يسمح به git.    لاختبار طلب الدمج الذي أنشأته على Hub، يمكنك تمرير `revision="refs/pr/<pr_number>"`.

return_unused_kwargs (`bool`، *اختياري*، القيمة الافتراضية `False`) : إذا كانت `False`، فإن هذه الدالة تُرجع كائن الإعداد النهائي فقط. إذا كانت `True`، فإن هذه الدالة تُرجع `Tuple(config, unused_kwargs)` حيث *unused_kwargs* هو قاموس يتكوّن من أزواج المفاتيح والقيم التي لا تُعدّ مفاتيحها من سمات الإعداد: أي الجزء من `kwargs` الذي لم يُستخدم لتحديث `config` ويُتجاهل في حالته الأخرى.

subfolder (`str`، *اختياري*، القيمة الافتراضية `""`) : في حال كانت الملفات ذات الصلة موجودة داخل مجلد فرعي من مستودع النموذج على huggingface.co، يمكنك تحديد اسم المجلد هنا.

kwargs (`dict[str, Any]`، *اختياري*) : تُستخدم القيم الموجودة في kwargs لأي مفاتيح تكون من سمات الإعداد لتجاوز القيم المحمّلة. يتم التحكم في السلوك المتعلق بالأزواج المفتاح/قيمة التي مفاتيحها *ليست* من سمات الإعداد بواسطة معامل الكلمة المفتاحية `return_unused_kwargs`.

**يعيد:** [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig)

كائن الإعداد المُستخدَم من هذا النموذج المُسبق التدريب.

أنشئ كائنًا من [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) (أو فئة مشتقة) من إعدادات نموذج مُدرَّب مسبقًا.

أمثلة:

```python
# We can't instantiate directly the base class *PreTrainedConfig* so let's show the examples on a
# derived class: BertConfig
config = BertConfig.from_pretrained(
    "google-bert/bert-base-uncased"
)  # Download configuration from huggingface.co and cache.
config = BertConfig.from_pretrained(
    "./test/saved_model/"
)  # E.g. config (or model) was saved using *save_pretrained('./test/saved_model/')*
config = BertConfig.from_pretrained("./test/saved_model/my_configuration.json")
config = BertConfig.from_pretrained("google-bert/bert-base-uncased", output_attentions=True, foo=False)
assert config.output_attentions == True
config, unused_kwargs = BertConfig.from_pretrained(
    "google-bert/bert-base-uncased", output_attentions=True, foo=False, return_unused_kwargs=True
)
assert config.output_attentions == True
assert unused_kwargs == {"foo": False}
```

#### get_config_dict[[transformers.PreTrainedConfig.get_config_dict]]

```python
get_config_dict(pretrained_model_name_or_path: str | os.PathLike, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L906)

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

pretrained_model_name_or_path (`str` أو `os.PathLike`) : المعرّف للنقطة الفاحصة المُدرَّبة مسبقًا التي نرغب في الحصول على قاموس المعلمات منها.

**يعيد:** `tuple[Dict, Dict]`

المعجم(ات) الذي سيتم استخدامه لإنشاء كائن الإعدادات.

من `pretrained_model_name_or_path`، يتم التحويل إلى قاموس من المعلمات، ليُستخدم في إنشاء [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) باستخدام `from_dict`.

#### get_mtp_config[[transformers.PreTrainedConfig.get_mtp_config]]

```python
get_mtp_config()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1593)

يعيد إعداد النص الخاص بـ mtp المستخدم لإنشاء نموذج MTP. نظرًا لأن طبقات MTP تُنشأ عن طريق إنشاء نفس الفئات المستخدمة في النموذج الرئيسي، نحتاج إلى تجاوز الخصائص المرتبطة بالفهرس في الإعداد، مثل `layer_types` أو `mtp_layer_types`، من أجل إنشاء طبقات mtp الصحيحة وتجنب مشاكل الفهرسة في الطبقات (لأن طبقات MTP تعيد بدء فهرسة الطبقات من 0).

#### get_text_config[[transformers.PreTrainedConfig.get_text_config]]

```python
get_text_config(decoder = None, encoder = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1516)

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

decoder (`Optional[bool]`، *اختياري*) : إذا تم تعيينه إلى `True`، فسيتم البحث عن أسماء إعدادات المُفكِّك (decoder) فقط.

encoder (`Optional[bool]`، *اختياري*) : إذا تم تعيينه إلى `True`، فسيتم البحث عن أسماء إعدادات المُشفِّر فقط.

تُعيد إعدادات النص المتعلقة بمدخل النص (المُشفِّر) أو مخرج النص (المُفكِّك) للنموذج. يمكن استخدام حَجَجي الإدخال `decoder` و`encoder` لتحديد الطرف من النموذج الذي نهتم به، وهو أمر مفيد في النماذج التي تملك كلا من مدخل ومخرج النص.

هناك ثلاثة نتائج محتملة لاستخدام هذه الطريقة:
1. في معظم النماذج، تُرجع الدالة كائن الإعداد الأصلي نفسه.
2. في النماذج المركّبة الأحدث (2024 وما بعدها)، تُرجع الدالة القسم النصّي من ملف الإعدادات، وهو مُضمَّن تحت مجموعة من الأسماء الصالحة.
3. في النماذج المركّبة الأقدم (2023 وما قبلها)، يتخلّى عن معاملات المُفكِّك فقط عندما يكون `encoder=True` والعكس صحيح.

#### is_custom_code[[transformers.PreTrainedConfig.is_custom_code]]

```python
is_custom_code()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1465)

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

#### is_remote_code[[transformers.PreTrainedConfig.is_remote_code]]

```python
is_remote_code()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1459)

تُرجع ما إذا كانت الإعدادات الحالية هي كود مخصص، أي كود تم تحميله من المستودع (hub)، أو فئة تم تسجيلها للتو عبر `register_for_auto_class`.

#### register_for_auto_class[[transformers.PreTrainedConfig.register_for_auto_class]]

```python
register_for_auto_class(auto_class = 'AutoConfig')
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1437)

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

auto_class (`str` أو `type`، *اختياري*، القيمة الافتراضية `"AutoConfig"`) : فئة auto التي سيتم تسجيل هذا الإعداد الجديد معها.

سجّل هذه الفئة مع فئة تلقائية محددة. يجب استخدام هذا فقط للتكوينات المخصصة، لأن التكوينات الموجودة في المكتبة مُربط مسبقًا مع `AutoConfig`.

#### save_pretrained[[transformers.PreTrainedConfig.save_pretrained]]

```python
save_pretrained(save_directory: str | os.PathLike, push_to_hub: bool = False, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L732)

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

save_directory (`str` أو `os.PathLike`) : المجلد الذي سيتم حفظ ملف الإعدادات بصيغة JSON فيه (سيتم إنشاؤه إذا لم يكن موجودًا).

push_to_hub (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم دفع نموذجك إلى مستودع نماذج Hugging Face بعد حفظه. يمكنك تحديد المستودع الذي تريد الدفع إليه باستخدام `repo_id` (سيكون الافتراضي هو اسم `save_directory` ضمن نطاقك).

kwargs (`dict[str, Any]`، *اختياري*) : حُجج إضافية تُمرَّر إلى طريقة [push_to_hub()](/docs/transformers/main/ar/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub).

احفظ كائن الإعداد في المجلد `save_directory`، بحيث يمكن إعادة تحميله باستخدام طريقة الفئة [from_pretrained()](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig.from_pretrained).

#### to_dict[[transformers.PreTrainedConfig.to_dict]]

```python
to_dict()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1258)

**يعيد:** `dict[str, Any]`

قاموس بجميع السمات التي تُشكّل هذا المثال من التهيئة.

يسلسل هذه النسخة إلى قاموس بايثون.

#### to_diff_dict[[transformers.PreTrainedConfig.to_diff_dict]]

```python
to_diff_dict()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1196)

**يعيد:** dict[str, Any]

قاموس بجميع السمات التي تُشكّل هذا المثال من التهيئة.

يزيل جميع السمات من الإعدادات التي تتوافق مع سمات الإعدادات الافتراضية لتحسين قابلية القراءة، مع الاحتفاظ دائمًا بسمة `config` من الفئة. يُسلسل إلى قاموس Python.

#### to_json_file[[transformers.PreTrainedConfig.to_json_file]]

```python
to_json_file(json_file_path: str | os.PathLike, use_diff: bool = True)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1330)

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

json_file_path (`str` أو `os.PathLike`) : المسار إلى ملف JSON الذي سيتم حفظ معاملات هذا المثال من التهيئة فيه.

use_diff (`bool`، *اختياري*، القيمة الافتراضية `True`) : إذا تم ضبطه على `True`، فسيتم تسلسل الفرق فقط بين كائن الإعدادات (config instance) والإعدادات الافتراضية `PreTrainedConfig()` إلى ملف JSON.

احفظ هذه النسخة في ملف JSON.

#### to_json_string[[transformers.PreTrainedConfig.to_json_string]]

```python
to_json_string(use_diff: bool = True)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1308)

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

use_diff (`bool`، *اختياري*، القيمة الافتراضية `True`) : إذا تم ضبطه على `True`، فسيتم تسلسل الفرق فقط بين كائن الإعداد (config instance) و`PreTrainedConfig()` الافتراضي إلى نص JSON.

**يعيد:** `str`

سلسلة تحتوي على جميع السمات التي تُشكّل هذا المثال من التهيئة بتنسيق JSON.

يسلسل هذه النسخة إلى نص JSON.

#### تحديث[[transformers.PreTrainedConfig.update]]

```python
update(config_dict: dict[str, Any])
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1344)

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

config_dict (`dict[str, Any]`) : قاموس بالخصائص التي يجب تحديثها لهذه الفئة.

تحديث خصائص هذه الفئة بخصائص من `config_dict`.

#### update_from_string[[transformers.PreTrainedConfig.update_from_string]]

```python
update_from_string(update_str: str)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L1354)

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

update_str (`str`) : نص يحتوي على السمات التي يجب تحديثها لهذه الفئة.

تحديث خصائص هذه الفئة بخصائص من `update_str`.

الصيغة المتوقعة هي الأعداد الصحيحة والأعداد العشرية والنصوص كما هي، ولقيم المنطق استخدم `true` أو `false`. على سبيل المثال: "n_embd=10,resid_pdrop=0.2,scale_attn_weights=false,summary_type=cls_index"

يجب أن تكون المفاتيح المراد تغييرها موجودة مسبقًا في كائن الإعدادات.

#### التحقق[[transformers.PreTrainedConfig.validate]]

```python
validate()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/huggingface_hub/dataclasses.py#L247)

شغّل مُتحقّقات الفئة على الكائن.

#### validate_architecture[[transformers.PreTrainedConfig.validate_architecture]]

```python
validate_architecture()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L667)

جزء من التحقق الذي يعمل بـ `@strict`. يتحقق من بنية الإعداد.

#### validate_layer_type[[transformers.PreTrainedConfig.validate_layer_type]]

```python
validate_layer_type()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L700)

تحقق من أن `mlp_layer_types` و`layer_types` معرّفة بشكل صحيح.

#### validate_token_ids[[transformers.PreTrainedConfig.validate_token_ids]]

```python
validate_token_ids()
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/configuration_utils.py#L684)

جزء من التحقق الذي يعمل بواسطة `@strict`. يتحقق من محتوى الرموز الخاصة.

