Buckets:

mishig's picture
|
download
raw
5.6 kB
# AutoPipeline
[AutoPipeline](../api/pipelines/auto_pipeline) هو خط أنابيب *مهمة ونموذج* يختار تلقائيًا الفئة الفرعية الصحيحة لخط الأنابيب بناءً على المهمة. يتعامل مع تعقيد تحميل فئات خطوط الأنابيب الفرعية المختلفة دون الحاجة إلى معرفة اسم الفئة الفرعية المحدد لخط الأنابيب.
وهذا يختلف عن [DiffusionPipeline](/docs/diffusers/v0.43.0/ar/api/pipelines/overview#diffusers.DiffusionPipeline)، وهو خط أنابيب *للنموذج فقط* يختار تلقائيًا الفئة الفرعية للخط الأنابيب بناءً على النموذج.
```text
AutoPipelineForImage2Image.from_pretrained(model_id)
|
+-- read model_index.json (e.g. StableDiffusionXLPipeline)
+-- task mapping (image-to-image)
|
v
StableDiffusionXLImg2ImgPipeline // returned instance
```
يعيد [AutoPipelineForImage2Image](/docs/diffusers/v0.43.0/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image) الفئة الفرعية الخاصة بالمهمة (على سبيل المثال، [StableDiffusionXLImg2ImgPipeline](/docs/diffusers/v0.43.0/ar/api/pipelines/stable_diffusion/stable_diffusion_xl#diffusers.StableDiffusionXLImg2ImgPipeline))، والتي يمكن استخدامها فقط لمهام تحويل الصورة إلى صورة.
```py
import torch
from diffusers import AutoPipelineForImage2Image
pipeline = AutoPipelineForImage2Image.from_pretrained(
"RunDiffusion/Juggernaut-XL-v9", dtype=torch.bfloat16, device_map="cuda", # or "mps", "xpu", "cpu"
)
print(pipeline)
# StableDiffusionXLImg2ImgPipeline {
# "_class_name": "StableDiffusionXLImg2ImgPipeline",
# ...
# }
```
عند تحميل النموذج نفسه باستخدام [DiffusionPipeline](/docs/diffusers/v0.43.0/ar/api/pipelines/overview#diffusers.DiffusionPipeline)، يُعاد الفرع الفرعي الافتراضي لتحويل النص إلى صورة، وهو [StableDiffusionXLPipeline](/docs/diffusers/v0.43.0/ar/api/pipelines/stable_diffusion/stable_diffusion_xl#diffusers.StableDiffusionXLPipeline). هذا الخطّ الأنابيب مخصص لتحويل النص إلى صورة. أما لتحويل الصورة إلى صورة أو لإعادة التلوين (Inpainting)، فحمّل خطّ أنابيب تلقائيًا للمهمة مثل [AutoPipelineForImage2Image](/docs/diffusers/v0.43.0/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image) أو [AutoPipelineForInpainting](/docs/diffusers/v0.43.0/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting)، أو الفرع الفرعي المحدد للمهمة المطابق.
```py
import torch
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"RunDiffusion/Juggernaut-XL-v9", dtype=torch.bfloat16, device_map="cuda", # or "mps", "xpu", "cpu"
)
print(pipeline)
# StableDiffusionXLPipeline {
# "_class_name": "StableDiffusionXLPipeline",
# ...
# }
```
## التبديل بين المهام باستخدام from_pipe
Load a task AutoPipeline once, then switch tasks with [from_pipe()](/docs/diffusers/v0.43.0/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image.from_pipe) without downloading the weights again. Components are reused from the source pipeline.
```py
import torch
from diffusers import AutoPipelineForText2Image, AutoPipelineForImage2Image
pipeline_t2i = AutoPipelineForText2Image.from_pretrained(
"RunDiffusion/Juggernaut-XL-v9", dtype=torch.bfloat16, device_map="cuda", # or "mps", "xpu", "cpu"
)
pipeline_i2i = AutoPipelineForImage2Image.from_pipe(pipeline_t2i)
```
راجع [إعادة استخدام النماذج في خطوط أنابيب متعددة](../using-diffusers/loading#reusing-models-in-multiple-pipelines) لمزيد من التفاصيل.
تحقق من [الخرائط](https://github.com/huggingface/diffusers/blob/main/src/diffusers/pipelines/auto_pipeline.py) لمعرفة ما إذا كان النموذج مدعوماً أم لا. محاولة تحميل نموذج غير مدعوم تعيد خطأً.
```py
import torch
from diffusers import AutoPipelineForImage2Image
pipeline = AutoPipelineForImage2Image.from_pretrained(
"openai/shap-e-img2img", dtype=torch.float16,
)
"ValueError: AutoPipeline can't find a pipeline linked to ShapEImg2ImgPipeline for None"
```
هناك أربعة أنواع من فئات [AutoPipeline](../api/pipelines/auto_pipeline):
- [AutoPipelineForText2Image](/docs/diffusers/v0.43.0/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image)
- [AutoPipelineForImage2Image](/docs/diffusers/v0.43.0/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForImage2Image)
- [AutoPipelineForInpainting](/docs/diffusers/v0.43.0/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForInpainting)
- [AutoPipelineForText2Audio](/docs/diffusers/v0.43.0/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Audio)
لكلٍّ من هذه الفئات تعيين مسبق، يربط خط الأنابيب بفئة فرعية مخصصة للمهمة الخاصة بها.
عند استدعاء [from_pretrained()](/docs/diffusers/v0.43.0/ar/api/pipelines/auto_pipeline#diffusers.AutoPipelineForText2Image.from_pretrained)، يستخرج اسم الفئة من ملف `model_index.json` ويختار فئة خط الأنابيب الفرعية المناسبة للمهمة بناءً على الترميز.

Xet Storage Details

Size:
5.6 kB
·
Xet hash:
0a05a717b4bfb97a9f9fb61385a6768a6922007040a7ded54b520dda08af2006

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.