Stable Diffusion 本地部署及使用(AI绘画)

844 阅读6分钟

1. python 环境安装

  1. Python环境安装包下载地址:www.python.org/downloads (根据自己电脑下载对应对应版本)
  2. 安装:

我这里下载的是安装版本,安装时候记得勾选添加到PATH,这样省得自己添加环境变量了

  1. 检验python是否安装成功

2. Stable Diffusion本地部署

  1. 从github上克隆源码到本地(需要比较大的本地存储空间)
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
  1. 开启科学上网,直接运行项目根目录底下的webui-user.bat文件(Mac运行webui-user.sh文件即可),项目会自动安装依赖并启动项目,直到

便可通过http://127.0.0.1:7860/访问本地服务

3. 本地部署遇到问题

  1. 首先电脑需要保持显存最低4G
  2. 运行bat文件或者shell文件无法正常启动服务

可以通过一下方式解决

  • 升级pip包管理工具:python.exe -m pip install --upgrade pip
  • 打开launch.py文件,将github.com 全部替换成 kgithub.com
  • 更换镜像源:pip config set global.index-url mirrors.aliyun.com/pypi/simple…
  • 禁用HTTPS SSL证书验证: git config --global http.sslVerify false
  1. 其他问题参考:www.bilibili.com/read/cv2260…

4. Stable Diffusion 本地汉化

4.1. 汉化包引入

4.1.1. 通过官方扩展列表安装

此扩展可以在 Extension 选项卡里面通过加载官方插件列表直接安装

  • 点击 Extension 选项卡,点击 Avaliable 子选项卡
  • 取消勾选 localization,再把其他勾上,然后点击 橙色按钮,如下图
  • 在 zh_CN Localization 这一项的右边点击 install

4.1.2. 通过网址安装

  • 点击 Extension 选项卡,点击 Install from URL 子选项卡
  • 复制本 git 仓库网址:
https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN
  • 粘贴进 URL 栏,点击 Install,如图

4.1.3. 直接下载然后放在对应路径

  • 下载本 git 仓库为 zip 档案
  • 解压,并把文件夹放置在 webui 根目录下的 extensions 文件夹中,放好之后应该会如下图

4.2. 汉化包配置使用

确保扩展已经正确加载

  • 重启webUI以确保扩展已经加载了
  • 在 Settings 选项卡,点击 页面右上角橙色 Reload UI 按钮 刷新扩展列表
  • 在 Extensions 选项卡,确定已勾选本扩展☑️;如未勾选,勾选后点击橙色按钮启用本扩展。

选择简体中文语言包(zh_CN)

  • 在 Settings 选项卡中,找到 User interface 子选项
  • 然后去页面最底部,找到 Localization (requires restart) 小项,找到在下拉选单中选中 zh_CN (如果没有就按一下🔄按钮),如图
  • 然后按一下 页面顶部左边的 橙色 Apply settings 按钮 保存设置,再按 右边的 橙色 Reload UI 按钮 重启webUI

5. 添加模型

5.1. 常用模型 CheckPoint 和 Lora区别

  1. CheckPoint

经过训练的图片合集,被称作模型,也就是chekpoint,体积较大,一般真人版的单个模型的大小在7GB左右,动漫版的在2-5个G之间

  1. Lora

是一种体积较小的绘画模型,是对大模型的微调。与每次作画只能选择一个大模型不同,lora模型可以在已选择大模型的基础上添加一个甚至多个。一般体积在几十到几百兆左右

5.2. 模型下载

  1. 可以使用官方提供的模型github.com/camenduru/s…

也可以通过模型网站下载对应模型civitai.com/

( 大模型 画图主要就是使用大模型的一些数据来生成图片,小模型lord的功能就是对大模型的一些参数做一 些微调 )

( 大小模型区分,大约1G的一般为大模型,civitai中有标提示)

  1. 下载需要的模型

将大模型放在:\stable-diffusion-webui\models\Stable-diffusion

将小模型放在:\stable-diffusion-webui\models\Lord

  1. 重启stable diffusion,便可看到模型

5.3. 模型使用

CheckPoint模型切换

Lora模型

6. 使用及参数

6.1. 使用

上文本框,填写正向词,语料(既期望生成图片样子)

下文本框,填写反向词,语料(例如,Cartoon,卡通)

6.2. 参数

6.2.1. Sampler(采样器/采样方法):

选择使用哪种采样器。 Euler a(Eular ancestral)可以以较少的步数产生很大的多样性,不同的步数可能有不同的结果。而非 ancestral 采样器都会产生基本相同的图像。DPM 相关的采样器通常具有不错的效果,但耗时也会相应增加。

Euler 是最简单、最快的

Euler a 更多样,不同步数可以生产出不同的图片。但是太高步数 (>30) 效果不会更好。

DDIM 收敛快,但效率相对较低,因为需要很多 step 才能获得好的结果,适合在重绘时候使用。

LMS 是 Euler 的衍生,它们使用一种相关但稍有不同的方法(平均过去的几个步骤以提高准确性)。大概 30 step 可以得到稳定结果

PLMS 是 Euler 的衍生,可以更好地处理神经网络结构中的奇异性。

DPM2 是一种神奇的方法,它旨在改进 DDIM,减少步骤以获得良好的结果。它需要每一步运行两次去噪,它的速度大约是 DDIM 的两倍,生图效果也非常好。但是如果你在进行调试提示词的实验,这个采样器可能会有点慢了。

UniPC 效果较好且速度非常快,对平面、卡通的表现较好。

6.2.2. Sampling Steps(采样步数):

Stable Diffusion 的工作方式是从以随机高斯噪声起步,向符合提示的图像一步步降噪接近。随着步数增多,可以得到对目标更小、更精确的图像。但增加步数也会增加生成图像所需的时间。增加步数的边际收益递减,取决于采样器。一般开到 20~30。

6.2.3. CFG Scale(提示词相关性):

图像与你的提示的匹配程度。增加这个值将导致图像更接近你的提示,但它也在一定程度上降低了图像质量。 可以用更多的采样步骤来抵消。过高的 CFG Scale 体现为粗犷的线条和过锐化的图像。一般开到 7~11

6.2.4. 生成批次:

每次生成图像的组数。一次运行生成图像的数量为“批次* 批次数量”

6.2.5. 每批数量:

同时生成多少个图像。增加这个值可以提高性能,但也需要更多的显存。大的 Batch Size 需要消耗巨量显存。若没有超过 12G 的显存,请保持为 1。

6.2.6. 尺寸:

指定图像的长宽。出图尺寸太宽时,图中可能会出现多个主体

6.2.7. 种子:

种子决定模型在生成图片时涉及的所有随机性,风格,画风

6.2.8. 高清修复:

应该就是字面意思,电脑配置较低,暂时没测试

7. 高级使用

可以编辑项目目录下的 webui.bat文件,加入一行参数,如图

这里加的参数意思分别为

  • --listen启用局域网访问,这样就可以在别的电脑访问啦
  • --port 8888设置端口号为8888
  • --use-cpu设置使用cpu来处理,没显卡的电脑需要设置一下,因为默认是使用显卡GPU

如果想要通过api调用来生成图片,可以使用--api参数,启动webui后,在url地址上加上/docs就能看见api接口文档了。这样就能自己编写代码来调用文生图等等一些功能了接口详细文档

8. 其他部署

Stable-diffusion 网盘搭建:github.com/camenduru/s…