# التثبيت

يتطلب Diffusers إصدار Python 3.10 أو أحدث، وقد تم اختباره مع PyTorch 2.6 أو أحدث. قم بتثبيت [PyTorch](https://pytorch.org/get-started/locally/) وفقاً لنظامك وإعداداتك.

أنشئ [بيئة افتراضية](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/) لإدارة المشاريع المنفصلة بشكل أسهل وتجنب مشاكل التوافق بين الاعتماديات. استخدم [uv](https://docs.astral.sh/uv/)، وهو مدير حزم ومشاريع بلغة بايثون مبني على لغة Rust، لإنشاء بيئة افتراضية وتثبيت Diffusers.

```bash
uv venv my-env
source my-env/bin/activate
```

قم بتثبيت Diffusers باستخدام إحدى الطرق التالية.

```bash
uv pip install diffusers["torch"] transformers
```

لتثبيت Diffusers مع PyTorch على أجهزة NVIDIA Spark (مثل حاسوب RTX Spark المحمول) التي تعمل بنظام ARM64، ثبّت PyTorch من فهرس NVIDIA PyPI. تتطلب هذه الأجهزة إصدارات ARM64 من PyTorch التي توفرها NVIDIA، وهي غير متوفرة في فهرس PyPI الافتراضي أو في فهرس عجلات PyTorch القياسي.

نفّذ الأمر أدناه للتحقق مما إذا كان نظامك يكتشف معالج رسومي من NVIDIA.

```bash
nvidia-smi
```

قم بتثبيت PyTorch من فهرس NVIDIA PyPI، ثم ثبّت Diffusers.

```bash
uv pip install torch --index-url https://pypi.nvidia.com
uv pip install diffusers
```

```bash
conda install -c conda-forge diffusers
```

يقوم التثبيت من المصدر بتثبيت إصدار `main` بدلاً من أحدث إصدار `stable`. يُعدّ إصدار `main` مفيداً للبقاء على اطلاع بأحدث التغييرات، لكنه قد لا يكون مستقراً دائماً. إذا واجهت مشكلة، فافتح [قضية](https://github.com/huggingface/diffusers/issues/new/choose) وسنحاول حلها في أقرب وقت ممكن.

تأكد من تثبيت [Accelerate](https://huggingface.co/docs/accelerate/index).

```bash
uv pip install accelerate
```

قم بتثبيت Diffusers من المصدر باستخدام الأمر أدناه.

```bash
uv pip install git+https://github.com/huggingface/diffusers
```

قم بتثبيت الإضافات عند الحاجة إليها. يجلب `diffusers["torch"]` مكتبتَي PyTorch وAccelerate. تغطي الإضافات الأخرى محركات التكميم والتدريب والتوثيق. راجع [`setup.py`](https://github.com/huggingface/diffusers/blob/main/setup.py) للاطلاع على القائمة الكاملة.

## الأجهزة

يعمل Diffusers على أي معالج تسريع مدعوم من PyTorch. تستخدم الأمثلة في جميع أنحاء التوثيق `"cuda"` لأنه الإعداد الأكثر شيوعاً، لكن لا يوجد شيء محدد لـ CUDA. استبدل سلسلة الجهاز بما يناسب عتادك، مثل `"xpu"` لمعالجات الرسوميات من Intel، أو `"mps"` لأشباه الموصلات من Apple، أو `"cpu"`.

```py
device = "cuda"  # or "mps", "xpu", "cpu"
pipeline.to(device)
```

للاختيار بين الأجهزة وقت التشغيل بدلاً من تثبيتها في الكود، استخدم [torch.accelerator](https://docs.pytorch.org/docs/stable/accelerator.html).

```py
import torch

device = torch.accelerator.current_accelerator().type if torch.accelerator.is_available() else "cpu"
```

## التثبيت القابل للتعديل

يُوصى بالتثبيت القابل للتعديل في سير عمل التطوير أو إذا كنت تستخدم إصدار `main` من كود المصدر. يتم إنشاء رابط خاص بين المستودع المنسوخ ومسارات مكتبة بايثون. وهذا يتجنب إعادة تثبيت الحزمة بعد كل تغيير.

استنسخ المستودع وقم بتثبيت Diffusers باستخدام الأوامر التالية.

```bash
git clone https://github.com/huggingface/diffusers.git
cd diffusers
uv pip install -e ".[torch]"
```

> [!WARNING]
> يجب عليك الاحتفاظ بمجلد `diffusers` إذا كنت ترغب في مواصلة استخدام المكتبة مع التثبيت القابل للتحرير.

حدّث مستودعك المنسوخ إلى أحدث إصدار من Diffusers باستخدام الأمر أدناه.

```bash
cd ~/diffusers/
git pull
```

## ذاكرة مؤقت

تُحمَّل أوزان النموذج وملفاته من Hub إلى ذاكرة مؤقتة، وهي عادةً مجلد المستخدم الرئيسي. يمكنك تغيير موقع الذاكرة المؤقتة باستخدام متغيرات البيئة [HF_HOME](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhome) أو [HF_HUB_CACHE](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhubcache)، أو من خلال ضبط معامل `cache_dir` في طرق مثل [from_pretrained()](/docs/diffusers/v0.43.0/ar/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained).

```bash
export HF_HOME="/path/to/your/cache"
export HF_HUB_CACHE="/path/to/your/hub/cache"
```

```py
from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained(
    "black-forest-labs/FLUX.1-dev",
    cache_dir="/path/to/your/cache"
)
```

تتيح لك الملفات المخزنة مؤقتًا استخدام Diffusers دون اتصال. اضبط متغير البيئة [HF_HUB_OFFLINE](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhuboffline) على `1` لمنع Diffusers من الاتصال بالإنترنت.

```shell
export HF_HUB_OFFLINE=1
```

لمزيد من التفاصيل حول إدارة وتنظيف ذاكرة التخزين المؤقت، راجع دليل [فهم التخزين المؤقت](https://huggingface.co/docs/huggingface_hub/guides/manage-cache).

## تسجيل بيانات القياس عن بُعد

Diffusers gathers telemetry information during [from_pretrained()](/docs/diffusers/v0.43.0/ar/api/pipelines/overview#diffusers.DiffusionPipeline.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](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables#hfhubdisabletelemetry).

```bash
export HF_HUB_DISABLE_TELEMETRY=1
```

```bash
set HF_HUB_DISABLE_TELEMETRY=1
```

