〔010〕Stable Diffusion 之 VAE 篇

本文介绍了变分自动编码器(VAE)的基础知识,阐述了VAE在图像处理中的作用,如加滤镜效果。通过开启VAE的步骤,下载常见VAE模型,以及对比不同VAE模型生成效果的方法,帮助读者理解和应用VAE进行AI绘画。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

▷ 什么是VAE

  • VAE:是 Variational Auto-Encoder 的简称,也就是变分自动编码器
  • 可以把它理解成给图片加滤镜,现在的很多大模型里面已经嵌入了 VAE,所以并需要额外添加 VAE
  • 如果你发现生成的图片在色彩,细节上有些颜色缺失或者失真,基本就是该模型中没有 VAE 导致的,需要手动使用 VAE

使用VAE对比图

▷ 开启VAE

  • 点击 设置Setting用户界面 User interface快捷设置列表 Quicksettings list
  • 勾选:sd_vae,然后点击应用设置,并点击重启前端按钮

### 将 VAE 模型导入 Stable Diffusion 环境 为了将自定义的 Variational Autoencoder (VAE) 导入到 Stable Diffusion 中,需遵循特定的过程来确保兼容性和功能正常运作。以下是详细的说明: #### 准备环境 首先确认已经成功克隆了 `stabilityai/stablediffusion` 仓库并完成了基本安装[^1]。 ```bash git clone https://github.com/stabilityai/stablediffusion.git cd stablediffusion pip install -e . ``` #### 下载预训练的 VAE 模型 获取想要使用的 VAE 模型文件(通常是 `.ckpt` 或者 `.pt` 文件)。可以从公开资源下载或是自己训练得到的一个新模型。 #### 修改配置文件 进入项目的根目录下找到 `configs/latent-diffusion/txt2img-1p4B-eval.yaml` 配置文件位置,并编辑此 YAML 文件中的参数以匹配新的 VAE 设置。特别是要调整与编码器和解码器有关的部分,使其指向正确的权重路径。 对于某些版本可能还需要修改 Python 脚本内的硬编码部分,比如在启动脚本里指定加载外部 VAE 的选项。 #### 加载自定义 VAE 当一切准备就绪之后,在命令行界面通过如下方式启动服务时加入额外参数来指示程序使用哪个 VAE: ```python from ldm.models.diffusion.ddpm import LatentDiffusion import torch model = LatentDiffusion.load_from_checkpoint( checkpoint_path="path/to/model.ckpt", vae_config_file="path/to/vae/config.yaml", first_stage_ckpt="path/to/pretrained_vae.ckpt" ) device = "cuda" if torch.cuda.is_available() else "cpu" model.to(device) ``` 这段代码展示了如何创建一个带有自定义 VAE 的 `LatentDiffusion` 实例。这里假设有一个预先存在的检查点 (`checkpoint_path`) 和对应的 VAE 权重 (`first_stage_ckpt`) 及其配置(`vae_config_file`)。 #### 测试效果 完成上述操作后可以尝试像来看看是否有预期的效果改进。如果遇到任何问题,则应回顾之前的每一步骤仔细排查错误原因。
评论 58
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江户川码农

你的支持是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值