Diffusers documentation
التثبيت
التثبيت
يتطلب Diffusers إصدار Python 3.10 أو أحدث، وقد تم اختباره مع PyTorch 2.6 أو أحدث. قم بتثبيت PyTorch وفقاً لنظامك وإعداداتك.
أنشئ بيئة افتراضية لإدارة المشاريع المنفصلة بشكل أسهل وتجنب مشاكل التوافق بين الاعتماديات. استخدم uv، وهو مدير حزم ومشاريع بلغة بايثون مبني على لغة Rust، لإنشاء بيئة افتراضية وتثبيت Diffusers.
uv venv my-env
source my-env/bin/activateقم بتثبيت Diffusers باستخدام إحدى الطرق التالية.
uv pip install diffusers["torch"] transformersلتثبيت Diffusers مع PyTorch على أجهزة NVIDIA Spark (مثل حاسوب RTX Spark المحمول) التي تعمل بنظام ARM64، ثبّت PyTorch من فهرس NVIDIA PyPI. تتطلب هذه الأجهزة إصدارات ARM64 من PyTorch التي توفرها NVIDIA، وهي غير متوفرة في فهرس PyPI الافتراضي أو في فهرس عجلات PyTorch القياسي.
نفّذ الأمر أدناه للتحقق مما إذا كان نظامك يكتشف معالج رسومي من NVIDIA.
nvidia-smi
قم بتثبيت PyTorch من فهرس NVIDIA PyPI، ثم ثبّت Diffusers.
uv pip install torch --index-url https://pypi.nvidia.com uv pip install diffusers
conda install -c conda-forge diffusers
يقوم التثبيت من المصدر بتثبيت إصدار main بدلاً من أحدث إصدار stable. يُعدّ إصدار main مفيداً للبقاء على اطلاع بأحدث التغييرات، لكنه قد لا يكون مستقراً دائماً. إذا واجهت مشكلة، فافتح قضية وسنحاول حلها في أقرب وقت ممكن.
تأكد من تثبيت Accelerate.
uv pip install accelerate
قم بتثبيت Diffusers من المصدر باستخدام الأمر أدناه.
uv pip install git+https://github.com/huggingface/diffusers
قم بتثبيت الإضافات عند الحاجة إليها. يجلب diffusers["torch"] مكتبتَي PyTorch وAccelerate. تغطي الإضافات الأخرى محركات التكميم والتدريب والتوثيق. راجع setup.py للاطلاع على القائمة الكاملة.
الأجهزة
يعمل Diffusers على أي معالج تسريع مدعوم من PyTorch. تستخدم الأمثلة في جميع أنحاء التوثيق "cuda" لأنه الإعداد الأكثر شيوعاً، لكن لا يوجد شيء محدد لـ CUDA. استبدل سلسلة الجهاز بما يناسب عتادك، مثل "xpu" لمعالجات الرسوميات من Intel، أو "mps" لأشباه الموصلات من Apple، أو "cpu".
device = "cuda" # or "mps", "xpu", "cpu"
pipeline.to(device)للاختيار بين الأجهزة وقت التشغيل بدلاً من تثبيتها في الكود، استخدم torch.accelerator.
import torch
device = torch.accelerator.current_accelerator().type if torch.accelerator.is_available() else "cpu"التثبيت القابل للتعديل
يُوصى بالتثبيت القابل للتعديل في سير عمل التطوير أو إذا كنت تستخدم إصدار main من كود المصدر. يتم إنشاء رابط خاص بين المستودع المنسوخ ومسارات مكتبة بايثون. وهذا يتجنب إعادة تثبيت الحزمة بعد كل تغيير.
استنسخ المستودع وقم بتثبيت Diffusers باستخدام الأوامر التالية.
git clone https://github.com/huggingface/diffusers.git
cd diffusers
uv pip install -e ".[torch]"يجب عليك الاحتفاظ بمجلد
diffusersإذا كنت ترغب في مواصلة استخدام المكتبة مع التثبيت القابل للتحرير.
حدّث مستودعك المنسوخ إلى أحدث إصدار من Diffusers باستخدام الأمر أدناه.
cd ~/diffusers/
git pullذاكرة مؤقت
تُحمَّل أوزان النموذج وملفاته من Hub إلى ذاكرة مؤقتة، وهي عادةً مجلد المستخدم الرئيسي. يمكنك تغيير موقع الذاكرة المؤقتة باستخدام متغيرات البيئة HF_HOME أو HF_HUB_CACHE، أو من خلال ضبط معامل cache_dir في طرق مثل from_pretrained().
export HF_HOME="/path/to/your/cache"
export HF_HUB_CACHE="/path/to/your/hub/cache"from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"black-forest-labs/FLUX.1-dev",
cache_dir="/path/to/your/cache"
)تتيح لك الملفات المخزنة مؤقتًا استخدام Diffusers دون اتصال. اضبط متغير البيئة HF_HUB_OFFLINE على 1 لمنع Diffusers من الاتصال بالإنترنت.
export HF_HUB_OFFLINE=1
لمزيد من التفاصيل حول إدارة وتنظيف ذاكرة التخزين المؤقت، راجع دليل فهم التخزين المؤقت.
تسجيل بيانات القياس عن بُعد
Diffusers gathers telemetry information during from_pretrained() requests. The data gathered includes the Diffusers and PyTorch version, the requested model or pipeline class, and the path to a pretrained checkpoint if it is hosted on the Hub.
يساعدنا هذا البيانات الاستخدام في تصحيح المشكلات وتحديد أولويات الميزات الجديدة. يتم إرسال بيانات القياس فقط عند تحميل النماذج والخطوط من Hub، ولا يتم جمعها إذا كنت تقوم بتحميل ملفات محلية.
يمكنك إلغاء الاشتراك في جمع البيانات التلمسية وتعطيلها باستخدام متغير البيئة HF_HUB_DISABLE_TELEMETRY.
export HF_HUB_DISABLE_TELEMETRY=1set HF_HUB_DISABLE_TELEMETRY=1