尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

SDXL生成黑图?SDXL-VAE-FP16-Fix彻底解决VAE在fp16精度下的NaN难题

SDXL生成黑图?SDXL-VAE-FP16-Fix彻底解决VAE在fp16精度下的NaN难题 SDXL生成黑图SDXL-VAE-FP16-Fix彻底解决VAE在fp16精度下的NaN难题【免费下载链接】sdxl-vae-fp16-fix项目地址: https://ai.gitcode.com/hf_mirrors/madebyollin/sdxl-vae-fp16-fixSDXL-VAE-FP16-Fix 是官方 SDXL VAE 的半精度fp16修复版。用 Stable Diffusion XL 出图时如果得到全黑图或NaN报错罪魁祸首通常是 VAE 在 fp16 精度下中间值溢出——这个模型通过微调把内部激活值压回安全范围让你告别黑图也能去掉--no-half-vae之类的降级设置。 问题症状SDXL 为什么会在 fp16 下输出黑图在 NVIDIA 显卡上用半精度fp16跑 SDXL 时不少用户会遇到这样的现象扩散过程一路正常跑完可 VAE 解码出来的结果是一张纯黑图或者干脆抛出NaN/inf警告。以前的常见偏方是给 WebUI 加上--no-half-vae参数让 VAE 退回 fp32 运行——能用但白白多吃显存速度也变慢。 原因剖析fp16 精度溢出如何一步步变成 NaN问题的根源是fp16 能表示的最大数值只有 655042¹⁶而 SDXL 原始 VAE 的内部激活值太大了从上图可以清楚看到这条溢出链前几层h_conv_in、h_mid_block数值正常量级在几十左右到了h_2、h_1层数值飙到2888、5644、3974……开始逼近 fp16 上限h_1升采样层直接出现-inf / nan之后的每一层全部变成 NaNNaN 一路传播到输出层解码结果自然是黑图。 修复原理微调让激活幅度回到安全区SDXL-VAE-FP16-Fix 的做法非常巧妙——它不是改架构而是对原始 SDXL VAE 做了一轮微调保持最终输出基本一致解码质量与原版 SDXL VAE 几乎相同缩小网络内部的权重与偏置把中间激活值的幅度压下来让所有层都远离 65504 这个 fp16 天花板从此不再溢出。作者也提醒修复版与原版的输出存在极微小差异但解码图像对绝大多数用途都足够接近可以放心使用。该模型基于 SDXL-VAE (0.9) 微调同时也兼容 SDXL 1.0。 一键修复Diffusers 中加载 SDXL-VAE-FP16-Fix使用 Hugging Face Diffusers 时只需把 VAE 换成修复版全程保持 fp16import torch from diffusers import AutoencoderKL # 用 fp16 加载修复版 VAE不再出现 NaN vae AutoencoderKL.from_pretrained( madebyollin/sdxl-vae-fp16-fix, torch_dtypetorch.float16 ) # 然后把 vae 传给你的 SDXL 管线即可 # pipe DiffusionPipeline.from_pretrained(stabilityai/stable-diffusion-xl-base-1.0, vaevae, torch_dtypetorch.float16)结构配置见仓库中的config.jsonAutoencoderKL架构512x512 输入、4 通道 latent、scaling_factor: 0.13025与官方 SDXL VAE 完全一致可直接替换。⚙️ SD WebUI 修复4步换掉 VAE 并去掉 --no-half-vae如果你用的是 AUTOMATIC1111 WebUI操作更简单从模型仓库下载sdxl.vae.safetensors文件把它放进stable-diffusion-webui/models/VAE目录在 WebUI 设置的 VAE 选项中选中刚加入的修复版 VAE如果启动脚本如webui-user.bat里写了--no-half-vae现在可以删掉它了。 模型仓库关键文件一览文件用途sdxl.vae.safetensors给 SD WebUI / ComfyUI 等使用的 VAE 权重sdxl_vae.safetensorsVAE 权重的另一份命名版本diffusion_pytorch_model.safetensors完整模型权重Diffusers 加载config.jsonAutoencoderKL架构配置✅ 总结黑图问题一招解决方案效果原版 SDXL VAE fp16⚠️ 黑图 / NaN原版 SDXL VAE --no-half-vae✅ 能出图但 VAE 退回 fp32费显存SDXL-VAE-FP16-Fix fp16✅ 全 fp16 出图无 NaN显存更省如果你在用 SDXL 时反复被黑图、NaN 困扰把 VAE 换成SDXL-VAE-FP16-Fix就是最干净、代价最小的解决办法——不改代码逻辑、不牺牲精度、不浪费显存。【免费下载链接】sdxl-vae-fp16-fix项目地址: https://ai.gitcode.com/hf_mirrors/madebyollin/sdxl-vae-fp16-fix创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表