# FreeU

[FreeU](https://huggingface.co/papers/2309.11497) meningkatkan detail gambar dengan menyeimbangkan ulang seberapa banyak decoder UNet mengambil dari fitur backbone dibandingkan fitur koneksi lompat. Koneksi lompat dapat menenggelamkan fitur semantik backbone, yang menghasilkan detail yang tidak alami pada output. FreeU tidak memerlukan pelatihan, dan Anda dapat mengaktifkan atau menonaktifkannya pada saat inferensi untuk pipeline teks-ke-gambar dan teks-ke-video.

> [!NOTE]
> FreeU hanya berfungsi dengan pipeline berbasis UNet seperti Stable Diffusion, SDXL, dan AnimateDiff. Tidak didukung oleh pipeline berbasis transformer seperti Flux atau Qwen-Image.

Gunakan metode [enable_freeu()](/docs/diffusers/v0.43.0/id/api/pipelines/overview#diffusers.StableDiffusionMixin.enable_freeu) pada pipeline Anda dan konfigurasikan faktor penskalaan. `b1` dan `b2` memperkuat fitur backbone, sedangkan `s1` dan `s2` meredam fitur skip. Angka `1` dan `2` merujuk pada dua tahap upsampling pertama dari decoder UNet. Lihat repositori [FreeU](https://github.com/ChenyangSi/FreeU#parameters) untuk referensi hiperparameter untuk berbagai model.

Mulai dengan nilai repositori untuk sebuah model. Untuk menyesuaikan model lain, pertahankan `s1=0.9` dan `s2=0.2` lalu sesuaikan `b1` dan `b2` terlebih dahulu. Mengatur keempat faktor ke `1.0` sama dengan menonaktifkan FreeU. Nilai `b` yang lebih besar memperkuat efeknya tetapi dapat menghaluskan tekstur halus secara berlebihan, dan menurunkan `s1` dan `s2` akan menetralkan hal tersebut.

```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 dinonaktifkan
  
  
    
    FreeU diaktifkan
  

Panggil metode [disable_freeu()](/docs/diffusers/v0.43.0/id/api/pipelines/overview#diffusers.StableDiffusionMixin.disable_freeu) untuk menonaktifkan FreeU.

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

## Langkah selanjutnya

- Lihat referensi API [enable_freeu()](/docs/diffusers/v0.43.0/id/api/pipelines/overview#diffusers.StableDiffusionMixin.enable_freeu) untuk deskripsi parameter lengkap.
- Coba FreeU pada video dengan [AnimateDiff](../api/pipelines/animatediff).

