# FreeU

[FreeU](https://huggingface.co/papers/2309.11497) improves image detail by rebalancing how much the UNet decoder draws from backbone features versus skip-connection features. Skip connections can drown out the backbone's semantic features, which produces unnatural detail in the output. FreeU needs no training, and you can turn it on or off at inference time for text-to-image and text-to-video pipelines.

> [!NOTE]
> FreeU yalnızca Stable Diffusion, SDXL ve AnimateDiff gibi UNet tabanlı pipeline'larla çalışır. Flux veya Qwen-Image gibi transformer tabanlı pipeline'lar tarafından desteklenmez.

Hattınızda [enable_freeu()](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.StableDiffusionMixin.enable_freeu) yöntemini kullanın ve ölçekleme katsayılarını yapılandırın. `b1` ve `b2` omurga özelliklerini (backbone features) büyütür, `s1` ve `s2` ise atlama özelliklerini (skip features) sönümler. `1` ve `2`, UNet çözücüsünün (decoder) ilk iki yukarı örnekleme (upsampling) aşamalarına atıfta bulunur. Farklı modeller için referans hiperparametrelerini [FreeU](https://github.com/ChenyangSi/FreeU#parameters) deposunda bulabilirsiniz.

Bir model için depo değerleriyle başlayın. Diğer modeller için ayarlama yaparken `s1=0.9` ve `s2=0.2` değerlerini koruyun ve önce `b1` ile `b2` değerlerini ayarlayın. Dört faktörün tamamını `1.0` olarak ayarlamak, FreeU'yu devre dışı bırakmakla aynıdır. Daha büyük `b` değerleri etkiyi güçlendirir ancak ince dokuyu aşırı yumuşatabilir; `s1` ve `s2` değerlerini düşürmek bu etkiyi dengelemeye yardımcı olur.

```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 devre dışı
  
  
    
    FreeU etkin
  

FreeU'yu devre dışı bırakmak için [disable_freeu()](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.StableDiffusionMixin.disable_freeu) metodunu çağırın.

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

## Sonraki adımlar

- Tam parametre açıklamaları için [enable_freeu()](/docs/diffusers/main/tr/api/pipelines/overview#diffusers.StableDiffusionMixin.enable_freeu) API referansına bakın.
- FreeU'yu [AnimateDiff](../api/pipelines/animatediff) ile videoda deneyin.

