# مشاركة خطوط الأنابيب والنماذج

شارك خطوط أنابيبك ونماذجك ومجدوليك على Hub باستخدام [PushToHubMixin](/docs/diffusers/main/ar/api/schedulers/overview#diffusers.utils.PushToHubMixin). يوفّر هذا المكوّن:

1. ينشئ مستودعًا على Hub
2. يحفظ ملفات النموذج أو المجدول أو خط الأنابيب لديك بحيث يمكن إعادة تحميلها لاحقًا
3. يرفع المجلد الذي يحتوي على هذه الملفات إلى Hub

سجّل الدخول إلى حسابك على Hugging Face باستخدام [رمز الوصول](https://huggingface.co/settings/tokens) الخاص بك.

```py
from huggingface_hub import notebook_login

notebook_login()
```

```bash
hf auth login
```

ادفع إلى مساحة اسم المستخدم الخاصة بك باستخدام معرّف قصير (`"my-controlnet-model"`) أو إلى منظمة باستخدام `"your-org/my-controlnet-model"`.

## النماذج

لرفع نموذج إلى Hub، استدعِ [push_to_hub()](/docs/diffusers/main/ar/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) وحدّد معرّف المستودع الخاص بالنموذج.

```py
from diffusers import ControlNetModel

controlnet = ControlNetModel(
    block_out_channels=(32, 64),
    layers_per_block=2,
    in_channels=4,
    down_block_types=("DownBlock2D", "CrossAttnDownBlock2D"),
    cross_attention_dim=32,
    conditioning_embedding_out_channels=(16, 32),
)
controlnet.push_to_hub("my-controlnet-model")
```

يحفظ أسلوب [push_to_hub()](/docs/diffusers/main/ar/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) ملف `config.json` الخاص بالنموذج، وتُحفظ الأوزان تلقائيًا على شكل [ملفات safetensors](./other-formats#safetensors).

حمّل النموذج مرة أخرى باستخدام [ControlNetModel.from_pretrained()](/docs/diffusers/main/ar/api/models/overview#diffusers.ModelMixin.from_pretrained).

```py
model = ControlNetModel.from_pretrained("your-namespace/my-controlnet-model")
```

## المجدول

لرفع مُجدول إلى Hub، استدعِ [push_to_hub()](/docs/diffusers/main/ar/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) وحدد معرّف المستودع الخاص بالمُجدول.

```py
from diffusers import DDIMScheduler

scheduler = DDIMScheduler(
    beta_start=0.00085,
    beta_end=0.012,
    beta_schedule="scaled_linear",
    clip_sample=False,
    set_alpha_to_one=False,
)
scheduler.push_to_hub("my-ddim-scheduler")
```

يحفظ أسلوب [push_to_hub()](/docs/diffusers/main/ar/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) ملف `scheduler_config.json` الخاص بالجدول الزمني في المستودع المحدد.

حمّل المجدول مرة أخرى باستخدام [from_pretrained()](/docs/diffusers/main/ar/api/schedulers/overview#diffusers.SchedulerMixin.from_pretrained).

```py
scheduler = DDIMScheduler.from_pretrained("your-namespace/my-ddim-scheduler")
```

## خط أنابيب

To push a pipeline to the Hub, load it with [from_pretrained()](/docs/diffusers/main/ar/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained), then call [push_to_hub()](/docs/diffusers/main/ar/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) with a repository id.

```py
import torch
from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained(
    "Qwen/Qwen-Image", dtype=torch.bfloat16, device_map="cuda"  # or "mps", "xpu", "cpu"
)
pipeline.push_to_hub("your-namespace/my-qwen-image")
```

The [push_to_hub()](/docs/diffusers/main/ar/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) method saves each component to a subfolder in the repository. Load the pipeline again with [DiffusionPipeline.from_pretrained()](/docs/diffusers/main/ar/api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained).

```py
pipeline = DiffusionPipeline.from_pretrained("your-namespace/my-qwen-image")
```

## الخصوصية

اضبط `private=True` في [push_to_hub()](/docs/diffusers/main/ar/api/schedulers/overview#diffusers.utils.PushToHubMixin.push_to_hub) للحفاظ على خصوصية ملفات النموذج أو المجدول أو خط المعالجة.

```py
controlnet.push_to_hub("my-controlnet-model-private", private=True)
```

مرّر `create_pr=True` لفتح طلب سحب على مستودع Hub موجود بدلاً من الدفع مباشرة إلى الفرع الافتراضي.

تقبل النماذج وخطوط الأنابيب أيضًا `variant=` عند الدفع إذا كنت ترغب في ملف أوزان مُسمّى مثل `fp16`. لا تستخدم المجدولون `variant`.

المستودعات الخاصة مرئية لك وحدك. لن يتمكن المستخدمون الآخرون من استنساخ المستودع ولن يظهر في نتائج البحث. حتى لو كان لدى مستخدم عنوان URL لمستودعك الخاص، فسيحصل على `404 - Sorry, we can't find the page you are looking for`. يجب أن تكون [مسجلاً الدخول](https://huggingface.co/docs/huggingface_hub/quick-start#login) لتحميل نموذج من مستودع خاص.

