本文介绍我在本地搭建 Stable Diffusion Web UI 的体验过程,予以记录分享。
Stable Diffusion 是 2022 年 8 发布的深度学习文本到图像生成模型。它主要用于根据文本的描述产生详细图像,官方项目其实并不适合新手直接使用,好在有使用 Stable Diffusion 封装的 WebUI 开源项目,可以通过前端页面来使用 Stable Diffusion,大大降低了使用门槛,本文主要是介绍 Github 作者为 AUTOMATIC1111 的 stable-diffusion-webui;易用,插件丰富。
下面可能简称 Stable Diffusion 为 SD。
▲ 图1-封面,国风模型盲盒
img1 | img2 | img3 |
---|---|---|
▲ 组图2,模型 meinamix_meinaV8
▲ 图3-生成界面(使用了汉化插件)
MacBook Pro 14寸
芯片:Apple M1 Max
内存:32G
系统:MacOS 13.3.1
Python:Python3.8
出图速度(默认参数下):快的时候9s,有其他调整的时候稍慢
▲ 图4-出图速度
尝试 Docker
开始准备使用各位大佬推荐的 Docker 搭建,便于一键安装,但是发现无法支持 Mac ,无奈放弃!!!
▲ 图5-Docker 安装 FAQ
如果配置吃得住的 Windows 用户可以试试 Docker 搭建,流程不复杂,直接拉仓库,一键就可以自动安装了,主要使用 docker-compose 进行安装。
Docker 安装可参考:stable-diffusion-webui-docker [1]
本地运行 stable-diffusion-webui
苹果芯片安装文档参考[2]很详细建议看原文档
这里简单介绍下大致流程:
1、如果安装了 Homebrew 可以跳过此步,否则需要到 https://brew.sh 安装Homebrew 便于安装一些必要软件
2、通过 Homebrew 安装一些必要的程序(由于我本地有 Python 和 Git,所以我安装时去掉了这两个,Python 版本不知道是否有隐患?):
brew install cmake protobuf rust [email protected] git wget
3、将 WebUI 仓库克隆下来
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
4、下载模型,将 SD 的基础模型(也称之为checkpoint)下载下来放到模型目录stable-diffusion-webui/models/Stable-diffusion,可直接下载 SD 的官方预训练好的模型先试试,也就是文档中下图所指示位置(下个最新的咯),这个官方模型出图效果一般,可以摸清功能后再去试试其他的模型(关于模型相关的介绍下面会提到)
▲ 图6-模型下载
如果下载好了模型,接下来执行启动 UI 的命令,他会自动设置好环境,下载所需的一切依赖
cd stable-diffusion-webui
./webui.sh
初次运行期间我遇到的问题主要是下载慢(Github),开一下代理,再次执行启动命令就好了。
如果是 pip 依赖下载慢,可以尝试切换 pip 源为清华源或者阿里等国内源。
上面步骤如果都完成能成功启动,在左上角模型选择(参照图3-生成界面)就有模型可以选择。这时试试给一些提示生成图片了 ,可以愉快的玩耍了 。
汉化UI界面
stable-diffusion-webui-chinese[3]
**在 SD 中,基于训练方式的不同,最常用的两类模型:**本人了解有限,不对的地方恳请指正!checkpoint ?
checkpoint 是基础模型,也简称基模,比如上面安装 WebUI 过程中可下载的官方模型就是 SD 预先训练好,是完整模型的常见格式,模型体积较大,一般单个模型的大小在2~7G 左右;模型后缀一般为 .ckpt 或者 .safetensors
如果下载了 checkpoint,放到 models/Stable-diffusion 目录即可
上面的 SD 1.5 、SD 2.0、SD 2.1,有人说 1.5 的模型比 2.x 的模型效果要好?
下面是一些比较火的三方模型,通常是模型作者基于另外的一些基模(可能是 SD 官方的基模或其他开源的基模)加自己的数据训练出来的模型,一般都是特定风格和一些优化;比如脸型,肤色等等(取决于训练者的数据样本)
chilloutmix**[4]**、chilloutmix_NiPrunedFp32Fix**[5]**
… 生成真人的模型,由于其生成的图片风格很适合亚洲人,所以在国内应该是最火的模型,下面会给下载链接
meinamix_meinaV8[6]
,动漫混合型模型,生成的图片多是动漫风格,文中组图2就是其生成
GuoFeng3[7]
、3Guofeng3_v33**[7]
**,中国风模型,图1封面图由其生成
LoRA ?
LoRA 模型作用主要是微调,可以理解为在基础模型的前提下,做一些风格增强,因为他固定一些参数和权重,比如有些 lora 模型是专注 亚洲脸调整的参数,有的是古风、动漫风等等不同风格。
它们通常不会超过 1G,必须与 checkpoint 模型一起使用。
如果下载了 lora,放到 models/Lora 目录即可,随后你可以在界面看到它们,写提示词时,点击对应的 Lora 或按照 lora:lora模型名:1 书写即可使用:
下面是使用 chilloutmix_NiPrunedFp32Fix 基模+几个 LoRA 在相同提示语下生成的效果,为了区别不同模型的差异,可以给模型设置预览图:
▲ 不同 LoRA 在相同提示语下的风格差异便于区别
怎么区别基础模型 checkpoint 和 Lora?
比较大的一般就是基础模型(GB级别),其他少于 1G 的一般情况下是 Lora ,毕竟训练量不一样
一些模型下载网站可能会标识其类型。
至于其他 VAE、Embedding、Hyperentwork 暂时还不了解。
为了让 AI 绘图更加丰富多样,我们可以下载不同模型多多尝试,包括不限于 checkpoint 和 lora,下面是可以下载到 SD 相关模型文件的地方
飞桨[8]
百度的飞桨,有些网友会把一些模型分享在上面,下载会快一些,但只有少量 SD 模型被网友传了上去。
huggingface[9]
很大的模型下载网站,里面包含了方方面面的各类模型。一般推荐在这个网站下载,速度时快时慢(可能是我的网络原因)。
civitai (需科学上网)[10]
网友简称为C站,上面有很多风格的模型下载,对于每个模型都有图片预览,需要魔法
发现即使是下载了风格很惊艳的模型,依然无法生成牛逼的图片,那可能需要在提示词上下功夫了,为了让 Stable Diffusion 制作各种惊艳的图,可以直接参考别人的提示词
以下是一些比较厉害的提示词参考网站,找到喜欢的按照其提示词和参数、Lora 生成即可
civitai[10]
:
上面提到的 C 站,每个模型下面都有对应生成的图片分享,可以摘抄下
lexica[11]
可以搜索 SD 生成的图片,也可以在线生成图片,看到合适的图片直接复制哈,会有对应的模型给出,在上面的模型下载网站下载即可
在使用 Stable Diffusion 过程中可能会遇到各种常见问题,我们将在这里提供一些常见解决方案。
解决方案:按照提示操作即可
临时解决方案:改为 512x1023
解决方案:
# 换成对应的Python版本
/Applications/Python\ 3.8/Install\ Certificates.command
解决方案
# 启动时增加 --no-half 选项即
./web-ui.sh --no-half
本文主要记录初步使用 SD 进行文生图的过程,至于图生图,ControlNet 等玩法后续分享
可以把你遇到的问题在评论区一起讨论
原文链接
参考:
[1]. https://github.com/AbdBarho/stable-diffusion-webui-docker
[2].https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Installation-on-Apple-Silicon
[3].https://github.com/VinsonLaro/stable-diffusion-webui-chinese
[4]. https://huggingface.co/AnonPerson/ChilloutMix/tree/main (内含一些亚洲 Lora)
[5]. https://aistudio.baidu.com/aistudio/datasetdetail/193534/0
[6]. https://aistudio.baidu.com/aistudio/datasetdetail/202078
[7]. https://huggingface.co/xiaolxl/GuoFeng3/tree/main (直接看文档)
[8]. https://aistudio.baidu.com/
[9]. https://huggingface.co/
[10]. https://civitai.com/
[11]. https://lexica.art/
文章参考:
AIGC 绘画理论与保姆级实战:
https://zhuanlan.zhihu.com/p/617042733
SD 采样器:
https://zhuanlan.zhihu.com/p/621083328
SD 如何安装使用不同模型:
https://zhuanlan.zhihu.com/p/619553604
mac本地 SD 环境踩坑:
https://zhuanlan.zhihu.com/p/608178376
SD使用入门与提示词技巧:
https://zhuanlan.zhihu.com/p/577238010