# FreeU

يحسّن [FreeU](https://huggingface.co/papers/2309.11497) تفاصيل الصورة من خلال إعادة التوازن بين مقدار ما يستخلصه مُفكّك UNet من ميزات العمود الفقري (backbone) مقارنةً بميزات وصلات التخطي (skip-connections). يمكن أن تُغمر ميزات العمود الفقري الدلالية بواسطة وصلات التخطي، مما ينتج عنه تفاصيل غير طبيعية في المخرجات. لا يتطلب FreeU أي تدريب، ويمكنك تفعيله أو تعطيله في وقت الاستدلال (inference) لأنابيب النص إلى الصورة والنص إلى الفيديو.

> [!NOTE]
> يعمل FreeU فقط مع خطوط الأنابيب المعتمدة على UNet مثل Stable Diffusion وSDXL وAnimateDiff. ولا يحظى بدعم خطوط الأنابيب المعتمدة على المحولات (transformers) مثل Flux أو Qwen-Image.

استخدم طريقة [enable_freeu()](/docs/diffusers/v0.43.0/ar/api/pipelines/overview#diffusers.StableDiffusionMixin.enable_freeu) على خط الأنابيب الخاص بك وقم بإعداد عوامل التوسيع. تُعزّز `b1` و`b2` ميزات الهيكل الأساسي، بينما تُخمد `s1` و`s2` ميزات التخطي. تشير `1` و`2` إلى مرحلتي إعادة العينات الأولى والثانية في فكّ تشفير UNet. راجع مستودع [FreeU](https://github.com/ChenyangSi/FreeU#parameters) للاطلاع على المعلمات الفائقة المرجعية للنماذج المختلفة.

ابدأ بقيم المستودع الخاصة بنموذج. لضبط نماذج أخرى، احتفظ بـ`s1=0.9` و`s2=0.2` وقم بتعديل `b1` و`b2` أولاً. ضبط العوامل الأربعة جميعها على `1.0` يعادل تعطيل FreeU. تزيد القيم الأكبر لـ`b` من قوة التأثير لكنها قد تُنعّم النسيج الدقيق بشكل مفرط، بينما يُخفّض خفض `s1` و`s2` من ذلك.

```py
import torch
from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0", dtype=torch.float16,
).to("cuda")  # or "mps", "xpu", "cpu"
pipeline.enable_freeu(s1=0.9, s2=0.2, b1=1.3, b2=1.4)
generator = torch.Generator(device="cpu").manual_seed(13)
prompt = "A squirrel eating a burger"
image = pipeline(prompt, generator=generator).images[0]
image
```

  
    
    تم تعطيل FreeU
  
  
    
    تمكين FreeU
  

استدعِ الطريقة [disable_freeu()](/docs/diffusers/v0.43.0/ar/api/pipelines/overview#diffusers.StableDiffusionMixin.disable_freeu) لتعطيل FreeU.

```py
pipeline.disable_freeu()
```

## الخطوات التالية

- راجع مرجع واجهة [enable_freeu()](/docs/diffusers/v0.43.0/ar/api/pipelines/overview#diffusers.StableDiffusionMixin.enable_freeu) للحصول على أوصاف كاملة للمعاملات.
- جرّب FreeU على الفيديو باستخدام [AnimateDiff](../api/pipelines/animatediff).

