Diffusers documentation

ملفات مفردة

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

ملفات مفردة

تتيح لك الطريقة from_single_file() تحميل:

  • نموذج مخزّن في ملف واحد، وهو مفيد إذا كنت تعمل مع نماذج من نظام بيئي الانتشار، مثل Automatic1111، وتعتمد بشكل شائع على تخطيط الملف الواحد لتخزين النماذج ومشاركتها
  • نموذج مخزّن في تخطيطه الأصلي الموزّع، وهو مفيد إذا كنت تعمل مع نماذج مُعدّلة باستخدام خدمات أخرى، وتريد تحميله مباشرةً في كائنات خطوط أنابيب نماذج Diffusers

اقرأ دليل ملفات النماذج والتخطيطات لمعرفة المزيد حول تخطيط Diffusers متعدد المجلدات مقارنةً بتخطيط الملف الواحد، وكيفية تحميل النماذج المخزنة في هذه التخطيطات المختلفة.

خطوط الأنابيب المدعومة

النماذج المدعومة

FromSingleFileMixin

فئة diffusers.loaders.FromSingleFileMixin

< >

( )

حمّل أوزان النموذج المحفوظة بتنسيق .ckpt في DiffusionPipeline.

from_single_file

< >

( pretrained_model_link_or_path**kwargs )

المعاملات

  • pretrained_model_link_or_path (str أو os.PathLike, اختياري) — يمكن أن يكون أحد ما يلي:
    • رابط إلى ملف .ckpt (على سبيل المثال "https://huggingface.co/<repo_id>/blob/main/<path_to_file>.ckpt") على Hub.
    • مسار إلى ملف يحتوي على جميع أوزان خط المعالجة.
  • 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'}. تُستخدم هذه الوكلاء في كل طلب.
  • local_files_only (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم تحميل أوزان النموذج وملفات الإعداد المحلية فقط أم لا. إذا تم ضبطه على True، فلن يتم تنزيل النموذج من Hub.
  • token (str أو bool، اختياري) — الرمز الذي يُستخدم كتفويض حامل HTTP للملفات البعيدة. إذا كان True، يُستخدم الرمز المولّد من diffusers-cli login (المخزّن في ~/.huggingface).
  • revision (str، اختياري، القيمة الافتراضية "main") — الإصدار المحدد من النموذج الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit، أو أي معرّف مسموح به بواسطة Git.
  • original_config_file (str, اختياري) — المسار إلى ملف الإعدادات الأصلي الذي تم استخدامه لتدريب النموذج. إذا لم يتم تقديمه، فسيتم استنتاج ملف الإعدادات من ملف نقطة التفتيش.
  • config (str, اختياري) — يمكن أن يكون:
    • سلسلة نصية، وهي repo id (على سبيل المثال CompVis/ldm-text2im-large-256) لخط أنابيب مُدرَّب مسبقًا مستضاف على Hub.
    • مسار إلى مجلد (على سبيل المثال ./my_pipeline_directory/) يحتوي على تكوينات مكونات خط الأنابيب بصيغة Diffusers.
  • disable_mmap (‘bool’، اختياري، القيمة الافتراضية ‘False’) — ما إذا كان سيتم تعطيل mmap عند تحميل نموذج Safetensors. يمكن لهذا الخيار أن يؤدي إلى أداء أفضل عندما يكون النموذج على وحدة تخزين شبكية أو قرص صلب.
  • kwargs (قاموس متبقٍ من معاملات الكلمات المفتاحية، اختياري) — يمكن استخدامه لتجاوز متغيرات التحميل والحفظ (مكونات خط الأنابيب الخاصة بفئة خط الأنابيب المحددة). تُمرَّر المكونات المُتجاوزة مباشرةً إلى طريقة __init__ لخطوط الأنابيب. راجع المثال أدناه لمزيد من المعلومات.

أنشئ كائن DiffusionPipeline من أوزان خط الأنابيب المُسبقة التدريب المحفوظة بصيغة .ckpt أو .safetensors. يتم ضبط خط الأنابيب في وضع التقييم (model.eval()) افتراضيًا.

أمثلة:

>>> from diffusers import StableDiffusionPipeline

>>> # Download pipeline from huggingface.co and cache.
>>> pipeline = StableDiffusionPipeline.from_single_file(
...     "https://huggingface.co/WarriorMama777/OrangeMixs/blob/main/Models/AbyssOrangeMix/AbyssOrangeMix.safetensors"
... )

>>> # Download pipeline from local file
>>> # file is downloaded under ./v1-5-pruned-emaonly.ckpt
>>> pipeline = StableDiffusionPipeline.from_single_file("./v1-5-pruned-emaonly.ckpt")

>>> # Enable float16 and move to GPU
>>> pipeline = StableDiffusionPipeline.from_single_file(
...     "https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/blob/main/v1-5-pruned-emaonly.ckpt",
...     torch_dtype=torch.float16,
... )
>>> pipeline.to("cuda")

FromOriginalModelMixin

فئة diffusers.loaders.FromOriginalModelMixin

< >

( )

حمّل الأوزان المُسبقة التدريب المحفوظة بصيغة .ckpt أو .safetensors في نموذج.

from_single_file

< >

( pretrained_model_link_or_path_or_dict: str | None = None**kwargs )

المعاملات

  • pretrained_model_link_or_path_or_dict (str, اختياري) — يمكن أن يكون أحد ما يلي:
    • رابط إلى ملف .safetensors أو .ckpt (على سبيل المثال "https://huggingface.co/<repo_id>/blob/main/<path_to_file>.safetensors") على Hub.
    • مسار إلى ملف محلي يحتوي على أوزان النموذج المكوّن.
    • قواميس حالة تحتوي على أوزان نموذج المكوّن.
  • config (str, اختياري) —
    • سلسلة نصية، وهي repo id (على سبيل المثال CompVis/ldm-text2im-large-256) لخط أنابيب مُدرَّب مسبقًا مستضاف على Hub.
    • مسار إلى مجلد (على سبيل المثال ./my_pipeline_directory/) يحتوي على تكوينات مكونات خط الأنابيب بصيغة Diffusers.
  • subfolder (str، اختياري، الافتراضي "") — موقع المجلد الفرعي لملف النموذج داخل مستودع نموذج أكبر على Hub أو محليًا.
  • original_config (str، اختياري) — قائمة أو مسار إلى ملف yaml يحتوي على إعدادات النموذج بصيغته الأصلية. إذا تم تقديم قائمة، فسيتم استخدامها لتهيئة إعدادات النموذج.
  • 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'}. تُستخدم هذه الوكلاء في كل طلب.
  • local_files_only (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم تحميل أوزان النموذج وملفات الإعداد المحلية فقط أم لا. إذا تم ضبطه على True، فلن يتم تنزيل النموذج من Hub.
  • token (str أو bool، اختياري) — الرمز الذي يُستخدم كتفويض حامل HTTP للملفات البعيدة. إذا كان True، يُستخدم الرمز المولّد من diffusers-cli login (المخزّن في ~/.huggingface).
  • revision (str، اختياري، القيمة الافتراضية "main") — الإصدار المحدد من النموذج الذي سيتم استخدامه. يمكن أن يكون اسم فرع، أو اسم وسم، أو معرف commit، أو أي معرّف مسموح به بواسطة Git.
  • low_cpu_mem_usage (bool، اختياري، القيمة الافتراضية True إذا كانت إصدار torch >= 1.9.0 و — is_accelerate_available() وإلا False): تسريع تحميل النموذج من خلال تحميل الأوزان المُسبقة التدريب فقط بدلاً من تهيئة الأوزان. كما يحاول عدم استخدام أكثر من 1x حجم النموذج في ذاكرة المعالج المركزي (بما في ذلك ذروة الذاكرة) أثناء تحميل النموذج. مدعوم فقط لـ PyTorch >= 1.9.0. إذا كنت تستخدم إصدارًا أقدم من PyTorch، فإن تعيين هذا الحجة إلى True سيؤدي إلى رفع خطأ.
  • disable_mmap (‘bool’، اختياري، القيمة الافتراضية ‘False’) — ما إذا كان سيتم تعطيل mmap عند تحميل نموذج Safetensors. قد يؤدي هذا الخيار إلى أداء أفضل عندما يكون النموذج على وحدة تخزين شبكية أو قرص صلب، حيث قد لا تتعامل هذه الوسائط بشكل جيد مع طبيعة عمليات البحث (seek) التي يتطلبها mmap.
  • kwargs (قاموس متبقٍ من معاملات الكلمات المفتاحية، اختياري) — يمكن استخدامه لتجاوز متغيرات التحميل والحفظ (مثل مكونات خط الأنابيب الخاصة بفئة خط الأنابيب المحددة). تُمرَّر المكونات المُتجاوزة مباشرةً إلى طريقة __init__ لخطوط الأنابيب. راجع المثال أدناه لمزيد من المعلومات.

أنشئ نموذجًا من الأوزان المُسبقة التدريب المحفوظة في الصيغة الأصلية .ckpt أو .safetensors. يتم ضبط النموذج في وضع التقييم (model.eval()) افتراضيًا.

>>> from diffusers import StableCascadeUNet

>>> ckpt_path = "https://huggingface.co/stabilityai/stable-cascade/blob/main/stage_b_lite.safetensors"
>>> model = StableCascadeUNet.from_single_file(ckpt_path)
Update on GitHub