Diffusers 文件

控制影像質量

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

控制影像質量

擴散模型的元件,如 UNet 和排程器,可以進行最佳化以提高生成影像的質量,從而帶來更好的細節。如果您沒有資源簡單地使用更大的模型進行推理,這些技術尤其有用。您可以在推理過程中啟用這些技術,而無需任何額外的訓練。

本指南將向您展示如何在您的 Pipeline 中啟用這些技術,以及如何配置它們以提高您生成影像的質量。

詳情

FreeU 透過重新平衡 UNet 的主幹和跳躍連線權重來改善影像細節。跳躍連線可能導致模型忽略一些主幹語義,這可能導致生成的影像中出現不自然的影像細節。該技術不需要任何額外的訓練,可以在推理過程中即時應用於影像到影像和文字到影片等任務。

在您的 Pipeline 上使用 enable_freeu() 方法,並配置主幹(b1b2)和跳躍連線(s1s2)的縮放因子。每個縮放因子後面的數字對應於應用該因子的 UNet 階段。請檢視 FreeU 倉庫,瞭解不同模型的參考超引數。

Stable Diffusion v1-5
Stable Diffusion v2-1
Stable Diffusion XL
Zeroscope
import torch
from diffusers import DiffusionPipeline

pipeline = DiffusionPipeline.from_pretrained(
    "stable-diffusion-v1-5/stable-diffusion-v1-5", torch_dtype=torch.float16, safety_checker=None
).to("cuda")
pipeline.enable_freeu(s1=0.9, s2=0.2, b1=1.5, b2=1.6)
generator = torch.Generator(device="cpu").manual_seed(33)
prompt = ""
image = pipeline(prompt, generator=generator).images[0]
image
FreeU 已停用
FreeU 已啟用

呼叫 pipelines.StableDiffusionMixin.disable_freeu() 方法可停用 FreeU。

pipeline.disable_freeu()
< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.