许可证:apache-2.0
语言:
- 英文
库名称:diffusers
管道标签:文本生成图像
基础模型:
- black-forest-labs/FLUX.1-dev
目标驱动蒸馏
目标驱动蒸馏:通过目标时间步选择与解耦引导的一致性蒸馏
由TDD蒸馏的SDXL生成的样本,仅需4-8步。
FLUX使用方法
from huggingface_hub import hf_hub_download
from diffusers import FluxPipeline
pipe = FluxPipeline.from_pretrained("black-forest-labs/FLUX.1-dev", torch_dtype=torch.bfloat16)
pipe.load_lora_weights(hf_hub_download("RED-AIGC/TDD", "FLUX.1-dev_tdd_adv_lora_weights.safetensors"))
pipe.fuse_lora(lora_scale=0.125)
pipe.to("cuda")
image_flux = pipe(
prompt=[prompt],
generator=torch.Generator().manual_seed(int(3413)),
num_inference_steps=8,
guidance_scale=2.0,
height=1024,
width=1024,
max_sequence_length=256
).images[0]
SDXL使用方法
可直接下载本仓库中的模型,或通过脚本下载:
from huggingface_hub import hf_hub_download
hf_hub_download(repo_id="RedAIGC/TDD", filename="sdxl_tdd_lora_weights.safetensors", local_dir="./tdd_lora")
import torch
import diffusers
from diffusers import StableDiffusionXLPipeline
from tdd_scheduler import TDDScheduler
device = "cuda"
tdd_lora_path = "tdd_lora/sdxl_tdd_lora_weights.safetensors"
pipe = StableDiffusionXLPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16, variant="fp16").to(device)
pipe.scheduler = TDDSchedulerPlus.from_config(pipe.scheduler.config)
pipe.load_lora_weights(tdd_lora_path, adapter_name="accelerate")
pipe.fuse_lora()
prompt = "一张由水构成的猫的照片。"
image = pipe(
prompt=prompt,
num_inference_steps=4,
guidance_scale=1.7,
eta=0.2,
generator=torch.Generator(device=device).manual_seed(546237),
).images[0]
image.save("tdd.png")
更新日志
- [2025.01.01]:上传FLUX-TDD-ADV的TDD LoRA权重
- [2024.09.20]:上传FLUX-TDD-BETA(4-8步)的TDD LoRA权重
- [2024.08.25]:上传SVD的TDD LoRA权重
- [2024.08.22]:上传Stable Diffusion XL、YamerMIX和RealVisXL-V4.0的TDD LoRA权重,实现快速文生图
感谢Yamer和SG_161222分别开发了YamerMIX和RealVisXL V4.0。
简介
目标驱动蒸馏(TDD)包含三项关键设计,区别于以往的一致性蒸馏方法:
- 采用精细的目标时间步选择策略,提升训练效率:从预定义的等间隔去噪计划(如4-8步)中选择,并添加随机偏移以适应非确定性采样(如$\gamma$-采样)。
- 训练中使用解耦引导,支持推理阶段对引导尺度进行后调:通过替换部分文本条件为空提示,与CFG的标准训练流程对齐。
- 可选配非等间隔采样和x0裁剪,实现更灵活精准的图像采样。
TDD概览:(a) 训练过程包含目标时间步选择与解耦引导;(b) 推理过程可选用非等间隔去噪计划。
相同种子下,主流一致性蒸馏方法(LCM、PCM、TCD)与TDD蒸馏的SDXL生成样本对比。本方法在图像复杂度与清晰度上均具优势。
TDD蒸馏不同基础模型的生成结果,以及SDXL结合不同LoRA适配器或ControlNet的样本。
AnimateLCM蒸馏(上)与TDD蒸馏(下)的SVD-xt 1.1生成的视频样本,同样仅需4-8步。