# AutoPipeline

صُمم `AutoPipeline` لتسهيل تحميل نقطة تحقق (checkpoint) لمهمة معينة دون الحاجة إلى معرفة فئة خط الأنابيب (pipeline class) المحددة. بناءً على المهمة، يسترجع `AutoPipeline` تلقائيًا فئة خط الأنابيب الصحيحة من ملف `model_index.json` الخاص بنقطة التحقق.

> [!TIP]
> اطّلع على شروحات [AutoPipeline](../../tutorials/autopipeline) لمعرفة كيفية استخدام هذه الواجهة البرمجية!

## AutoPipelineForText2Image[[diffusers.AutoPipelineForText2Image]]

#### diffusers.AutoPipelineForText2Image[[diffusers.AutoPipelineForText2Image]]

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

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L378)

[AutoPipelineForText2Image](/docs/diffusers/main/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image) is a generic pipeline class that instantiates a text-to-image pipeline class. The specific underlying pipeline class is automatically selected from either the [from_pretrained()](/docs/diffusers/main/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image.from_pretrained) or [from_pipe()](/docs/diffusers/main/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image.from_pipe) methods.

لا يمكن إنشاء كائن من هذه الفئة باستخدام `__init__()` (يُطلق خطأ).

خصائص الفئة:

- **config_name** (`str`) -- اسم ملف الإعداد الذي يخزّن أسماء الفئات والوحدات لجميع مكوّنات خط أنابيب الانتشار.

#### from_pretrained[[diffusers.AutoPipelineForText2Image.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path, **kwargs)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L403)

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

pretrained_model_or_path (`str` أو `os.PathLike`، *اختياري*) : يمكن أن يكون أحد ما يلي: - نص، وهو *repo id* (مثل `CompVis/ldm-text2im-large-256`) لخط أنابيب مُدرَّب مسبقًا مستضاف على Hub. - مسار إلى *مجلد* (مثل `./my_pipeline_directory/`) يحتوي على أوزان خط أنابيب محفوظة باستخدام [save_pretrained()](/docs/diffusers/main/ar/api/pipelines/overview#diffusers.DiffusionPipeline.save_pretrained).

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

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

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

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.

custom_revision (`str`، *اختياري*، القيمة الافتراضية `"main"`) : إصدار النموذج المحدد الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit مشابه لـ`revision` عند تحميل خط أنابيب مخصص من Hub. يمكن أن يكون إصدار 🤗 Diffusers عند تحميل خط أنابيب مخصص من GitHub، وإلا فإن القيمة الافتراضية تكون `"main"` عند التحميل من Hub.

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

device_map (`str` أو `dict[str, int | str | torch.device]`، *اختياري*) : خريطة تحدد المكان الذي يجب أن يذهب إليه كل وحدة فرعية. لا حاجة لتحديدها لكل اسم معامل/مخزن؛ فبمجرد أن يكون اسم وحدة معينة داخلها، سيتم إرسال كل وحدة فرعية منها إلى نفس الجهاز. اضبط `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` سيؤدي إلى رفع خطأ.

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

kwargs (باقي قاموس من معاملات الكلمات المفتاحية، *اختياري*) : يمكن استخدامه لتجاوز متغيرات التحميل والحفظ (مكونات خط الأنابيب الخاصة بفئة خط الأنابيب المحددة). تُمرَّر المكونات المُتجاوزة مباشرةً إلى طريقة `__init__` لخط الأنابيب. راجع المثال أدناه لمزيد من المعلومات.

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

يُهيّئ خط أنابيب انتشار Pytorch لتحويل النص إلى صورة من أوزان خط أنابيب مُسبقة التدريب.

تتولى طريقة from_pretrained() مهمة إرجاع كائن الفئة الصحيحة للخط الأنابيب من خلال:
1. تحديد فئة خط الأنابيب الخاص بـ pretrained_model_or_path بناءً على خاصية _class_name في كائن الإعداد الخاص به
2. اعثر على خط أنابيب النص إلى الصورة المرتبط بصفحة الخط الأنابيب باستخدام مطابقة الأنماط على اسم صف الخط الأنابيب.

إذا تم تمرير حجة `controlnet`، فسيتم إنشاء كائن [StableDiffusionControlNetPipeline](/docs/diffusers/main/ar/api/pipelines/controlnet#diffusers.StableDiffusionControlNetPipeline).

يتم ضبط خط الأنابيب في وضع التقييم (`model.eval()`) افتراضيًا.

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

```
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.
```

> [!TIP] > لاستخدام النماذج الخاصة أو [المقيّدة](https://huggingface.co/docs/hub/models-gated#gated-models)، سجّل الدخول
باستخدام `hf > auth login`.

أمثلة:

```py
>>> from diffusers import AutoPipelineForText2Image

>>> pipeline = AutoPipelineForText2Image.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt).images[0]
```

#### from_pipe[[diffusers.AutoPipelineForText2Image.from_pipe]]

```python
from_pipe(pipeline, **kwargs)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L559)

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

pipeline (`DiffusionPipeline`) : كائن `DiffusionPipeline` مُثبَّت

يُهيّئ خط أنابيب انتشار بايثورتش لتحويل النص إلى صورة من فئة خط أنابيب انتشار أخرى مُهيّأة مسبقاً.

تتولى طريقة from_pipe() مهمة إرجاع كائن الفئة الصحيحة للخطّ الأنابيب عن طريق تحديد خطّ الأنابيب من النص إلى الصورة المرتبط بفئة الخطّ الأنابيب باستخدام مطابقة الأنماط على اسم فئة الخطّ الأنابيب.

ستُستخدم جميع الوحدات التي يحتويها خط المعالجة (pipeline) لتبني خط المعالجة الجديد دون تخصيص ذاكرة إضافية.

يتم ضبط خط الأنابيب في وضع التقييم (`model.eval()`) افتراضيًا.

```py
>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image

>>> pipe_i2i = AutoPipelineForImage2Image.from_pretrained(
...     "stable-diffusion-v1-5/stable-diffusion-v1-5", requires_safety_checker=False
... )

>>> pipe_t2i = AutoPipelineForText2Image.from_pipe(pipe_i2i)
>>> image = pipe_t2i(prompt).images[0]
```

## AutoPipelineForImage2Image[[diffusers.AutoPipelineForImage2Image]]

#### diffusers.AutoPipelineForImage2Image[[diffusers.AutoPipelineForImage2Image]]

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

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L676)

[AutoPipelineForImage2Image](/docs/diffusers/main/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image) is a generic pipeline class that instantiates an image-to-image pipeline class. The specific underlying pipeline class is automatically selected from either the [from_pretrained()](/docs/diffusers/main/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image.from_pretrained) or [from_pipe()](/docs/diffusers/main/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image.from_pipe) methods.

لا يمكن إنشاء كائن من هذه الفئة باستخدام `__init__()` (يُطلق خطأ).

خصائص الفئة:

- **config_name** (`str`) -- اسم ملف الإعداد الذي يخزّن أسماء الفئات والوحدات لجميع مكوّنات خط أنابيب الانتشار.

#### from_pretrained[[diffusers.AutoPipelineForImage2Image.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path, **kwargs)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L701)

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

pretrained_model_or_path (`str` أو `os.PathLike`، *اختياري*) : يمكن أن يكون أحد ما يلي: - نص، وهو *repo id* (مثل `CompVis/ldm-text2im-large-256`) لخط أنابيب مُدرَّب مسبقًا مستضاف على Hub. - مسار إلى *مجلد* (مثل `./my_pipeline_directory/`) يحتوي على أوزان خط أنابيب محفوظة باستخدام [save_pretrained()](/docs/diffusers/main/ar/api/pipelines/overview#diffusers.DiffusionPipeline.save_pretrained).

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

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

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

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.

custom_revision (`str`، *اختياري*، القيمة الافتراضية `"main"`) : إصدار النموذج المحدد الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit مشابه لـ`revision` عند تحميل خط أنابيب مخصص من Hub. يمكن أن يكون إصدار 🤗 Diffusers عند تحميل خط أنابيب مخصص من GitHub، وإلا فإن القيمة الافتراضية تكون `"main"` عند التحميل من Hub.

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

device_map (`str` أو `dict[str, int | str | torch.device]`، *اختياري*) : خريطة تحدد المكان الذي يجب أن يذهب إليه كل وحدة فرعية. لا حاجة لتحديدها لكل اسم معامل/مخزن؛ فبمجرد أن يكون اسم وحدة معينة داخلها، سيتم إرسال كل وحدة فرعية منها إلى نفس الجهاز. اضبط `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` سيؤدي إلى رفع خطأ.

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

kwargs (باقي قاموس من معاملات الكلمات المفتاحية، *اختياري*) : يمكن استخدامه لتجاوز متغيرات التحميل والحفظ (مكونات خط الأنابيب الخاصة بفئة خط الأنابيب المحددة). تُمرَّر المكونات المُتجاوزة مباشرةً إلى طريقة `__init__` لخط الأنابيب. راجع المثال أدناه لمزيد من المعلومات.

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

يُهيّئ خط أنابيب انتشار Pytorch لتحويل الصورة إلى صورة من أوزان خط أنابيب مُسبقة التدريب.

تتولى طريقة from_pretrained() مهمة إرجاع كائن الفئة الصحيحة للخط الأنابيب من خلال:
1. تحديد فئة خط الأنابيب الخاص بـ pretrained_model_or_path بناءً على خاصية _class_name في كائن الإعداد الخاص به
2. اعثر على خط أنابيب الصورة إلى الصورة المرتبط بصف خط الأنابيب باستخدام مطابقة الأنماط على اسم صف خط الأنابيب.

إذا تم تمرير حجة `controlnet`، فسيتم إنشاء كائن [StableDiffusionControlNetImg2ImgPipeline](/docs/diffusers/main/ar/api/pipelines/controlnet#diffusers.StableDiffusionControlNetImg2ImgPipeline).

يتم ضبط خط الأنابيب في وضع التقييم (`model.eval()`) افتراضيًا.

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

```
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.
```

> [!TIP] > لاستخدام النماذج الخاصة أو [المقيّدة](https://huggingface.co/docs/hub/models-gated#gated-models)، سجّل الدخول
باستخدام `hf > auth login`.

أمثلة:

```py
>>> from diffusers import AutoPipelineForImage2Image

>>> pipeline = AutoPipelineForImage2Image.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt, image).images[0]
```

#### from_pipe[[diffusers.AutoPipelineForImage2Image.from_pipe]]

```python
from_pipe(pipeline, **kwargs)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L868)

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

pipeline (`DiffusionPipeline`) : كائن `DiffusionPipeline` مُثبَّت

يُهيّئ خط أنابيب انتشار Pytorch لتحويل الصورة إلى صورة من فئة خط أنابيب انتشار أخرى مُهيّأة مسبقاً.

تتولى طريقة from_pipe() مهمة إرجاع كائن الفئة الصحيحة للخط الأنابيب عن طريق تحديد خط أنابيب الصورة إلى الصورة المرتبط بفئة الخط الأنابيب باستخدام مطابقة الأنماط على اسم فئة الخط الأنابيب.

ستُستخدم جميع الوحدات التي يحتويها خط المعالجة (pipeline) لتبني خط المعالجة الجديد دون تخصيص ذاكرة إضافية.

يتم ضبط خط الأنابيب في وضع التقييم (`model.eval()`) افتراضيًا.

أمثلة:

```py
>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image

>>> pipe_t2i = AutoPipelineForText2Image.from_pretrained(
...     "stable-diffusion-v1-5/stable-diffusion-v1-5", requires_safety_checker=False
... )

>>> pipe_i2i = AutoPipelineForImage2Image.from_pipe(pipe_t2i)
>>> image = pipe_i2i(prompt, image).images[0]
```

## AutoPipelineForInpainting[[diffusers.AutoPipelineForInpainting]]

#### diffusers.AutoPipelineForInpainting[[diffusers.AutoPipelineForInpainting]]

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

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L990)

[AutoPipelineForInpainting](/docs/diffusers/main/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting) هي فئة خط أنابيب عامة تُنشئ فئة خط أنابيب لإعادة التلوين. يتم اختيار فئة خط الأنابيب الأساسية المحددة تلقائيًا من إحدى طريقتي [from_pretrained()](/docs/diffusers/main/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting.from_pretrained) أو [from_pipe()](/docs/diffusers/main/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting.from_pipe).

لا يمكن إنشاء كائن من هذه الفئة باستخدام `__init__()` (يُطلق خطأ).

خصائص الفئة:

- **config_name** (`str`) -- اسم ملف الإعداد الذي يخزّن أسماء الفئات والوحدات لجميع مكوّنات خط أنابيب الانتشار.

#### from_pretrained[[diffusers.AutoPipelineForInpainting.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path, **kwargs)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1015)

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

pretrained_model_or_path (`str` أو `os.PathLike`، *اختياري*) : يمكن أن يكون أحد ما يلي: - نص، وهو *repo id* (مثل `CompVis/ldm-text2im-large-256`) لخط أنابيب مُدرَّب مسبقًا مستضاف على Hub. - مسار إلى *مجلد* (مثل `./my_pipeline_directory/`) يحتوي على أوزان خط أنابيب محفوظة باستخدام [save_pretrained()](/docs/diffusers/main/ar/api/pipelines/overview#diffusers.DiffusionPipeline.save_pretrained).

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

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

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

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.

custom_revision (`str`، *اختياري*، القيمة الافتراضية `"main"`) : إصدار النموذج المحدد الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit مشابه لـ`revision` عند تحميل خط أنابيب مخصص من Hub. يمكن أن يكون إصدار 🤗 Diffusers عند تحميل خط أنابيب مخصص من GitHub، وإلا فإن القيمة الافتراضية تكون `"main"` عند التحميل من Hub.

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

device_map (`str` أو `dict[str, int | str | torch.device]`، *اختياري*) : خريطة تحدد المكان الذي يجب أن يذهب إليه كل وحدة فرعية. لا حاجة لتحديدها لكل اسم معامل/مخزن؛ فبمجرد أن يكون اسم وحدة معينة داخلها، سيتم إرسال كل وحدة فرعية منها إلى نفس الجهاز. اضبط `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` سيؤدي إلى رفع خطأ.

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

kwargs (باقي قاموس من معاملات الكلمات المفتاحية، *اختياري*) : يمكن استخدامه لتجاوز متغيرات التحميل والحفظ (مكونات خط الأنابيب الخاصة بفئة خط الأنابيب المحددة). تُمرَّر المكونات المُتجاوزة مباشرةً إلى طريقة `__init__` لخط الأنابيب. راجع المثال أدناه لمزيد من المعلومات.

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

يُهيّئ خط أنابيب انتشار Pytorch للتلوين من أوزان خط أنابيب مُسبقة التدريب.

تتولى طريقة from_pretrained() مهمة إرجاع كائن الفئة الصحيحة للخط الأنابيب من خلال:
1. تحديد فئة خط الأنابيب الخاص بـ pretrained_model_or_path بناءً على خاصية _class_name في كائن الإعداد الخاص به
2. اعثر على خط أنابيب إعادة الرسم (inpainting) المرتبط بفئة خط الأنابيب (pipeline) باستخدام مطابقة الأنماط على اسم فئة خط الأنابيب.

إذا تم تمرير حجة `controlnet`، فسيتم إنشاء كائن [StableDiffusionControlNetInpaintPipeline](/docs/diffusers/main/ar/api/pipelines/controlnet#diffusers.StableDiffusionControlNetInpaintPipeline).

يتم ضبط خط الأنابيب في وضع التقييم (`model.eval()`) افتراضيًا.

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

```
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.
```

> [!TIP] > لاستخدام النماذج الخاصة أو [المقيّدة](https://huggingface.co/docs/hub/models-gated#gated-models)، سجّل الدخول
باستخدام `hf > auth login`.

أمثلة:

```py
>>> from diffusers import AutoPipelineForInpainting

>>> pipeline = AutoPipelineForInpainting.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5")
>>> image = pipeline(prompt, image=init_image, mask_image=mask_image).images[0]
```

#### from_pipe[[diffusers.AutoPipelineForInpainting.from_pipe]]

```python
from_pipe(pipeline, **kwargs)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1179)

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

pipeline (`DiffusionPipeline`) : كائن `DiffusionPipeline` مُثبَّت

يُشغّل خط أنابيب انتشار Pytorch للتلوين من فئة خط أنابيب انتشار أخرى مُشغَّلة مسبقاً.

تتولى طريقة from_pipe() مهمة إرجاع كائن الفئة الصحيحة للخطّ الأنابيب عن طريق تحديد خطّ الأنابيب الخاص بتعبئة الصورة المرتبط بفئة الخطّ الأنابيب باستخدام مطابقة الأنماط على اسم فئة الخطّ الأنابيب.

ستُستخدم جميع الوحدات التي تحتويها فئة pipeline لتهيئة خط الأنابيب الجديد دون تخصيص ذاكرة إضافية.

يتم ضبط خط الأنابيب في وضع التقييم (`model.eval()`) افتراضيًا.

أمثلة:

```py
>>> from diffusers import AutoPipelineForText2Image, AutoPipelineForInpainting

>>> pipe_t2i = AutoPipelineForText2Image.from_pretrained(
...     "DeepFloyd/IF-I-XL-v1.0", requires_safety_checker=False
... )

>>> pipe_inpaint = AutoPipelineForInpainting.from_pipe(pipe_t2i)
>>> image = pipe_inpaint(prompt, image=init_image, mask_image=mask_image).images[0]
```

## AutoPipelineForText2Audio[[diffusers.AutoPipelineForText2Audio]]

#### diffusers.AutoPipelineForText2Audio[[diffusers.AutoPipelineForText2Audio]]

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

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1298)

[AutoPipelineForText2Audio](/docs/diffusers/main/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Audio) is a generic pipeline class that instantiates a text-to-audio pipeline class. The specific underlying pipeline class is automatically selected from either the [from_pretrained()](/docs/diffusers/main/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Audio.from_pretrained) or [from_pipe()](/docs/diffusers/main/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Audio.from_pipe) methods.

لا يمكن إنشاء كائن من هذه الفئة باستخدام `__init__()` (يُطلق خطأ).

خصائص الفئة:

- **config_name** (`str`) -- اسم ملف الإعداد الذي يخزّن أسماء الفئات والوحدات لجميع مكوّنات خط أنابيب الانتشار.

#### from_pretrained[[diffusers.AutoPipelineForText2Audio.from_pretrained]]

```python
from_pretrained(pretrained_model_or_path, **kwargs)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1323)

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

pretrained_model_or_path (`str` أو `os.PathLike`، *اختياري*) : يمكن أن يكون أحد ما يلي: - نص، وهو *repo id* (مثل `stabilityai/stable-audio-open-1.0`) لخط أنابيب مُدرَّب مسبقًا مستضاف على Hub. - مسار إلى *مجلد* (مثل `./my_pipeline_directory/`) يحتوي على أوزان خط أنابيب محفوظة باستخدام [save_pretrained()](/docs/diffusers/main/ar/api/pipelines/overview#diffusers.DiffusionPipeline.save_pretrained).

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

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

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

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.

custom_revision (`str`، *اختياري*، القيمة الافتراضية `"main"`) : إصدار النموذج المحدد الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit مشابه لـ`revision` عند تحميل خط أنابيب مخصص من Hub. يمكن أن يكون إصدار 🤗 Diffusers عند تحميل خط أنابيب مخصص من GitHub، وإلا فإن القيمة الافتراضية تكون `"main"` عند التحميل من Hub.

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

device_map (`str` أو `dict[str, int | str | torch.device]`، *اختياري*) : خريطة تحدد المكان الذي يجب أن يذهب إليه كل وحدة فرعية. لا حاجة لتحديدها لكل اسم معامل/مخزن؛ فبمجرد أن يكون اسم وحدة معينة داخلها، سيتم إرسال كل وحدة فرعية منها إلى نفس الجهاز. اضبط `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` سيؤدي إلى رفع خطأ.

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

kwargs (باقي قاموس من معاملات الكلمات المفتاحية، *اختياري*) : يمكن استخدامه لتجاوز متغيرات التحميل والحفظ (مكونات خط الأنابيب الخاصة بفئة خط الأنابيب المحددة). تُمرَّر المكونات المُتجاوزة مباشرةً إلى طريقة `__init__` لخط الأنابيب. راجع المثال أدناه لمزيد من المعلومات.

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

يُهيّئ خط أنابيب انتشار Pytorch لتحويل النص إلى صوت من أوزان خط أنابيب مُسبقة التدريب.

تتولى طريقة from_pretrained() مهمة إرجاع كائن الفئة الصحيحة للخط الأنابيب من خلال:
1. تحديد فئة خط الأنابيب الخاص بـ pretrained_model_or_path بناءً على خاصية _class_name في كائن الإعداد الخاص به
2. اعثر على خط أنابيب النص إلى الصوت المرتبط بفئة خط الأنابيب باستخدام مطابقة الأنماط على اسم فئة خط الأنابيب.

يتم ضبط خط الأنابيب في وضع التقييم (`model.eval()`) افتراضيًا.

> [!TIP] > لاستخدام النماذج الخاصة أو [المقيّدة](https://huggingface.co/docs/hub/models-gated#gated-models)، سجّل الدخول
باستخدام `hf > auth login`.

أمثلة:

```py
>>> import torch
>>> import soundfile as sf
>>> from diffusers import AutoPipelineForText2Audio

>>> pipeline = AutoPipelineForText2Audio.from_pretrained(
...     "stabilityai/stable-audio-open-1.0", torch_dtype=torch.float16
... )
>>> pipeline = pipeline.to("cuda")

>>> output = pipeline(
...     "Generate a male voice reading a paragraph",
...     num_inference_steps=200,
...     audio_end_in_s=10.0,
... )
>>> audio = output.audios[0].T.float().cpu().numpy()
>>> sf.write("audio.wav", audio, pipeline.vae.sampling_rate)
```

#### from_pipe[[diffusers.AutoPipelineForText2Audio.from_pipe]]

```python
from_pipe(pipeline, **kwargs)
```

[المصدر](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py#L1467)

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

pipeline (`DiffusionPipeline`) : كائن `DiffusionPipeline` مُثبَّت

يُشغّل خط أنابيب انتشار بايثورتش لتحويل النص إلى صوت من فئة خط أنابيب انتشار أخرى مُشغَّلة مسبقاً.

تتولى طريقة from_pipe() مهمة إرجاع كائن الفئة الصحيحة للخطّ الأنابيب عن طريق تحديد خطّ الأنابيب من النص إلى الصوت المرتبط بفئة الخطّ الأنابيب باستخدام مطابقة الأنماط على اسم فئة الخطّ الأنابيب.

ستُستخدم جميع الوحدات التي يحتويها خط المعالجة (pipeline) لتبني خط المعالجة الجديد دون تخصيص ذاكرة إضافية.

يتم ضبط خط الأنابيب في وضع التقييم (`model.eval()`) افتراضيًا.

```py
>>> import torch
>>> import soundfile as sf
>>> from diffusers import AutoPipelineForText2Audio, StableAudioPipeline

>>> pipe = StableAudioPipeline.from_pretrained("stabilityai/stable-audio-open-1.0", torch_dtype=torch.float16)

>>> pipe_audio = AutoPipelineForText2Audio.from_pipe(pipe)
>>> output = pipe_audio(
...     "Generate a sound",
...     num_inference_steps=200,
...     audio_end_in_s=10.0,
... )
>>> audio = output.audios[0].T.float().cpu().numpy()
>>> sf.write("audio.wav", audio, pipe_audio.vae.sampling_rate)
```

