Diffusers documentation

AutoPipeline

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoPipeline

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

اطّلع على شروحات AutoPipeline لمعرفة كيفية استخدام هذه الواجهة البرمجية!

AutoPipelineForText2Image

فئة diffusers.AutoPipelineForText2Image

< >

( *args**kwargs )

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() or from_pipe() methods.

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

خصائص الفئة:

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

from_pretrained

< >

( pretrained_model_or_path**kwargs )

المعاملات

  • pretrained_model_or_path (str أو os.PathLike, اختياري) — يمكن أن يكون:
    • سلسلة نصية، وهي repo id (على سبيل المثال CompVis/ldm-text2im-large-256) لخط أنابيب مُدرَّب مسبقًا مستضاف على Hub.
    • مسار إلى مجلد (على سبيل المثال ./my_pipeline_directory/) يحتوي على أوزان خط الأنابيب المحفوظة باستخدام save_pretrained().
  • dtype (torch.dtype، اختياري) — تجاوز torch.dtype الافتراضي وتحميل النموذج بنوع بيانات آخر.
  • force_download (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إجبار إعادة تنزيل أوزان النموذج وملفات الإعداد، مع تجاوز النسخ المخزنة مؤقتًا إذا كانت موجودة.
  • cache_dir (str | os.PathLike، اختياري) — المسار إلى مجلد حيث يتم تخزين إعدادات النموذج المُدرَّب مسبقًا المُحمَّل مؤقتًا إذا لم يُستخدم المجلد المؤقت القياسي.
  • proxies (dict[str, str]، اختياري) — قاموس لخوادم الوكيل (proxy) للاستخدام حسب البروتوكول أو نقطة النهاية، على سبيل المثال {'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 للملفات البعيدة. إذا كان True، يُستخدم الرمز المولّد من diffusers-cli login (المخزّن في ~/.huggingface).
  • revision (str، اختياري، القيمة الافتراضية "main") — الإصدار المحدد من النموذج الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit، أو أي معرّف مسموح به بواسطة 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 الأكثر تحسينًا. لمزيد من المعلومات حول كل خيار، راجع تصميم خريطة الأجهزة.

  • max_memory (Dict, اختياري) — قاموس معرّف الجهاز للذاكرة القصوى. إذا لم يُضبط، فسيتم افتراضياً استخدام أقصى ذاكرة متاحة لكل وحدة معالجة رسومية (GPU) والذاكرة العشوائية المتاحة للمعالج المركزي (CPU).
  • offload_folder (str أو os.PathLike، اختياري) — المسار الذي تُموضع فيه الأوزان إذا احتوى device_map على القيمة "disk".
  • offload_state_dict (bool، اختياري) — إذا كان True، يتم نقل قاموس الحالة على وحدة المعالجة المركزية مؤقتًا إلى القرص الصلب لتجنب نفاد ذاكرة وحدة المعالجة المركزية إذا لم يتسع وزن قاموس الحالة على وحدة المعالجة المركزية + أكبر شريحة من نقطة الحفظ. القيمة الافتراضية هي True عند وجود أي نقل إلى القرص.
  • 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.

يتم ضبط خط الأنابيب في وضع التقييم (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.

> لاستخدام النماذج الخاصة أو المقيّدة، سجّل الدخول باستخدام hf > auth login.

أمثلة:

>>> from diffusers import AutoPipelineForText2Image

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

from_pipe

< >

( pipeline**kwargs )

المعاملات

  • pipeline (DiffusionPipeline) — كائن DiffusionPipeline مُثبَّت

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

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

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

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

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

< >

( *args**kwargs )

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() or from_pipe() methods.

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

خصائص الفئة:

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

from_pretrained

< >

( pretrained_model_or_path**kwargs )

المعاملات

  • pretrained_model_or_path (str أو os.PathLike, اختياري) — يمكن أن يكون:
    • سلسلة نصية، وهي repo id (على سبيل المثال CompVis/ldm-text2im-large-256) لخط أنابيب مُدرَّب مسبقًا مستضاف على Hub.
    • مسار إلى مجلد (على سبيل المثال ./my_pipeline_directory/) يحتوي على أوزان خط الأنابيب المحفوظة باستخدام save_pretrained().
  • dtype (str أو torch.dtype، اختياري) — تجاوز torch.dtype الافتراضي وتحميل النموذج بنوع بيانات آخر.
  • force_download (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إجبار إعادة تنزيل أوزان النموذج وملفات الإعداد، مع تجاوز النسخ المخزنة مؤقتًا إذا كانت موجودة.
  • cache_dir (str | os.PathLike، اختياري) — المسار إلى مجلد حيث يتم تخزين إعدادات النموذج المُدرَّب مسبقًا المُحمَّل مؤقتًا إذا لم يُستخدم المجلد المؤقت القياسي.
  • proxies (dict[str, str]، اختياري) — قاموس لخوادم الوكيل (proxy) للاستخدام حسب البروتوكول أو نقطة النهاية، على سبيل المثال {'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 للملفات البعيدة. إذا كان True، يُستخدم الرمز المولّد من diffusers-cli login (المخزّن في ~/.huggingface).
  • revision (str، اختياري، القيمة الافتراضية "main") — الإصدار المحدد من النموذج الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit، أو أي معرّف مسموح به بواسطة 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 الأكثر تحسينًا. لمزيد من المعلومات حول كل خيار، راجع تصميم خريطة الأجهزة.

  • max_memory (Dict, اختياري) — قاموس معرّف الجهاز للذاكرة القصوى. إذا لم يُضبط، فسيتم افتراضياً استخدام أقصى ذاكرة متاحة لكل وحدة معالجة رسومية (GPU) والذاكرة العشوائية المتاحة للمعالج المركزي (CPU).
  • offload_folder (str أو os.PathLike، اختياري) — المسار الذي تُموضع فيه الأوزان إذا احتوى device_map على القيمة "disk".
  • offload_state_dict (bool، اختياري) — إذا كان True، يتم نقل قاموس الحالة على وحدة المعالجة المركزية مؤقتًا إلى القرص الصلب لتجنب نفاد ذاكرة وحدة المعالجة المركزية إذا لم يتسع وزن قاموس الحالة على وحدة المعالجة المركزية + أكبر شريحة من نقطة الحفظ. القيمة الافتراضية هي True عند وجود أي نقل إلى القرص.
  • 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.

يتم ضبط خط الأنابيب في وضع التقييم (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.

> لاستخدام النماذج الخاصة أو المقيّدة، سجّل الدخول باستخدام hf > auth login.

أمثلة:

>>> from diffusers import AutoPipelineForImage2Image

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

from_pipe

< >

( pipeline**kwargs )

المعاملات

  • pipeline (DiffusionPipeline) — كائن DiffusionPipeline مُثبَّت

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

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

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

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

أمثلة:

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

< >

( *args**kwargs )

AutoPipelineForInpainting هي فئة خط أنابيب عامة تنشئ فئة خط أنابيب لإعادة التلوين. يتم اختيار فئة خط الأنابيب الأساسية المحددة تلقائيًا من إحدى طريقتي from_pretrained() أو from_pipe().

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

خصائص الفئة:

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

from_pretrained

< >

( pretrained_model_or_path**kwargs )

المعاملات

  • pretrained_model_or_path (str أو os.PathLike, اختياري) — يمكن أن يكون:
    • سلسلة نصية، وهي repo id (على سبيل المثال CompVis/ldm-text2im-large-256) لخط أنابيب مُدرَّب مسبقًا مستضاف على Hub.
    • مسار إلى مجلد (على سبيل المثال ./my_pipeline_directory/) يحتوي على أوزان خط الأنابيب المحفوظة باستخدام save_pretrained().
  • dtype (str أو torch.dtype، اختياري) — تجاوز torch.dtype الافتراضي وتحميل النموذج بنوع بيانات آخر.
  • force_download (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إجبار إعادة تنزيل أوزان النموذج وملفات الإعداد، مع تجاوز النسخ المخزنة مؤقتًا إذا كانت موجودة.
  • cache_dir (str | os.PathLike، اختياري) — المسار إلى مجلد حيث يتم تخزين إعدادات النموذج المُدرَّب مسبقًا المُحمَّل مؤقتًا إذا لم يُستخدم المجلد المؤقت القياسي.
  • proxies (dict[str, str]، اختياري) — قاموس لخوادم الوكيل (proxy) للاستخدام حسب البروتوكول أو نقطة النهاية، على سبيل المثال {'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 للملفات البعيدة. إذا كان True، يُستخدم الرمز المولّد من diffusers-cli login (المخزّن في ~/.huggingface).
  • revision (str، اختياري، القيمة الافتراضية "main") — الإصدار المحدد من النموذج الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit، أو أي معرّف مسموح به بواسطة 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 الأكثر تحسينًا. لمزيد من المعلومات حول كل خيار، راجع تصميم خريطة الأجهزة.

  • max_memory (Dict, اختياري) — قاموس معرّف الجهاز للذاكرة القصوى. إذا لم يُضبط، فسيتم افتراضياً استخدام أقصى ذاكرة متاحة لكل وحدة معالجة رسومية (GPU) والذاكرة العشوائية المتاحة للمعالج المركزي (CPU).
  • offload_folder (str أو os.PathLike، اختياري) — المسار الذي تُموضع فيه الأوزان إذا احتوى device_map على القيمة "disk".
  • offload_state_dict (bool، اختياري) — إذا كان True، يتم نقل قاموس الحالة على وحدة المعالجة المركزية مؤقتًا إلى القرص الصلب لتجنب نفاد ذاكرة وحدة المعالجة المركزية إذا لم يتسع وزن قاموس الحالة على وحدة المعالجة المركزية + أكبر شريحة من نقطة الحفظ. القيمة الافتراضية هي True عند وجود أي نقل إلى القرص.
  • 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.

يتم ضبط خط الأنابيب في وضع التقييم (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.

> لاستخدام النماذج الخاصة أو المقيّدة، سجّل الدخول باستخدام hf > auth login.

أمثلة:

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

< >

( pipeline**kwargs )

المعاملات

  • pipeline (DiffusionPipeline) — كائن DiffusionPipeline مُثبَّت

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

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

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

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

أمثلة:

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

< >

( *args**kwargs )

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() or from_pipe() methods.

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

خصائص الفئة:

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

from_pretrained

< >

( pretrained_model_or_path**kwargs )

المعاملات

  • pretrained_model_or_path (str أو os.PathLike, اختياري) — يمكن أن يكون:
    • سلسلة نصية، وهي repo id (على سبيل المثال stabilityai/stable-audio-open-1.0) لخط أنابيب مُدرَّب مسبقًا مستضاف على Hub.
    • مسار إلى مجلد (على سبيل المثال ./my_pipeline_directory/) يحتوي على أوزان خط الأنابيب المحفوظة باستخدام save_pretrained().
  • dtype (torch.dtype، اختياري) — تجاوز torch.dtype الافتراضي وتحميل النموذج بنوع بيانات آخر.
  • force_download (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إجبار إعادة تنزيل أوزان النموذج وملفات الإعداد، مع تجاوز النسخ المخزنة مؤقتًا إذا كانت موجودة.
  • cache_dir (str | os.PathLike، اختياري) — المسار إلى مجلد حيث يتم تخزين إعدادات النموذج المُدرَّب مسبقًا المُحمَّل مؤقتًا إذا لم يُستخدم المجلد المؤقت القياسي.
  • proxies (dict[str, str]، اختياري) — قاموس لخوادم الوكيل (proxy) للاستخدام حسب البروتوكول أو نقطة النهاية، على سبيل المثال {'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 للملفات البعيدة. إذا كان True، يُستخدم الرمز المولّد من diffusers-cli login (المخزّن في ~/.huggingface).
  • revision (str، اختياري، القيمة الافتراضية "main") — الإصدار المحدد من النموذج الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit، أو أي معرّف مسموح به بواسطة 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 الأكثر تحسينًا. لمزيد من المعلومات حول كل خيار، راجع تصميم خريطة الأجهزة.

  • max_memory (Dict, اختياري) — قاموس معرّف الجهاز للذاكرة القصوى. إذا لم يُضبط، فسيتم افتراضياً استخدام أقصى ذاكرة متاحة لكل وحدة معالجة رسومية (GPU) والذاكرة العشوائية المتاحة للمعالج المركزي (CPU).
  • offload_folder (str أو os.PathLike، اختياري) — المسار الذي تُموضع فيه الأوزان إذا احتوى device_map على القيمة "disk".
  • offload_state_dict (bool، اختياري) — إذا كان True، يتم نقل قاموس الحالة على وحدة المعالجة المركزية مؤقتًا إلى القرص الصلب لتجنب نفاد ذاكرة وحدة المعالجة المركزية إذا لم يتسع وزن قاموس الحالة على وحدة المعالجة المركزية + أكبر شريحة من نقطة الحفظ. القيمة الافتراضية هي True عند وجود أي نقل إلى القرص.
  • 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()) افتراضيًا.

> لاستخدام النماذج الخاصة أو المقيّدة، سجّل الدخول باستخدام hf > auth login.

أمثلة:

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

< >

( pipeline**kwargs )

المعاملات

  • pipeline (DiffusionPipeline) — كائن DiffusionPipeline مُثبَّت

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

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

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

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

>>> 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)
Update on GitHub