跳到主要内容

Stable Diffusion 环境配置

Stable Diffusion 是什么?

Stable Diffusion 是一个AI 绘图软件 (开源模型),可本地部署,可切换多种模型,且新的模型和开源库每天都在更新发布,最重要的是免费,没有绘图次数限制。

快速安装体验

注意!!最好安装 Python 3.10,不然会遇到一堆问题

SD web UI提供了一站式的 SD 工具,功能非常全面。

git clone git@github.com:AUTOMATIC1111/stable-diffusion-webui.git

然后使用清华的镜像源安装依赖(这是坑,建议直接使用下面提供的腾讯源,这里标识一下避免下次再踩坑)

python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

如果报错

使用 --verbose 参数查看详细的错误信息

# https://github.com/XPixelGroup/BasicSR/issues/627
# 折腾了大半天,各种依赖下载安装都没有用,换成腾讯的镜像源就好了
pip install --verbose -i https://mirrors.cloud.tencent.com/pypi/simple basicsr


# 使用腾讯的镜像源安装依赖
pip install -r requirements.txt -i https://mirrors.cloud.tencent.com/pypi/simple
pip install xformers==0.0.16

# 索性全部使用腾讯的镜像源
pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple
pip config set global.trusted-host mirrors.cloud.tencent.com

# 关闭镜像
pip config set global.index-url https://pypi.org/simple
pip config set global.trusted-host pypi.org

# 直接使用代理的方式下载
pip config set global.proxy 代理服务器地址:端口号

注意,这个下载巨慢,不是卡住了

可以观察这个位置,如果不断的新增依赖就是没有卡住

xFormers 依赖安装问题

1、提示:No module 'xformers'. Proceeding without it.

编辑 stable-diffusion-webui目录中的“webui-user.bat”文件,添加--xformers参数,如下:

set COMMANDLINE_ARGS=--xformers

报错版本不支持,则按照下面的说明安装

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Xformers#building-xformers-on-windows-by-duckness

安装本地编译好的 xformers

# 先进入虚拟环境再安装
./venv/scripts/activate
pip install .\xformers-0.0.21+55a4798.d20230707-cp311-cp311-win_amd64.whl

检查 CUDA 是否可用

python -c "import torch; print(torch.cuda.is_available())"

如果报错 memory_efficient_attention_forward

这个是个坑,需要安装 torch==1.10.0+cu113

# 检查版本
pip show torch

pip show xformers

坑:不同版本的 torch 需要不同版本的 xformers,我们安装的 xformers==0.0.21 这并不匹配 torch 2.0.1。以上我们安装的是 2.0.1 版本的 torch,参考这个 issue

pip install xformers==0.0.21.dev561

全部安装好后注释掉这行,免得每次都检查依赖是否安装

检查版本的问题

则仔细看这个依赖是啥

# 然后检查当前执行的版本
pip install basicsr==

如果报错下面这样的,说明当前版本的 Python 太高了

这里使用 conda 创建一个虚拟环境

conda create --name myenv python=3.10

这将创建一个名为 myenv 的虚拟环境,并使用 Python 3.10。

运行以下命令激活虚拟环境:

conda activate myenv

# 如果要退出虚拟环境执行下面的命令
conda deactivate

xFormers 是什么?

Xformers 是社区目前知名度最高的优化加速方案了,名字 Xformers 指的是该库将各种 transformer 架构的模型囊括其中.

该库仅适用于 N卡,特点是加速图片生成并降低显存占用,代价是输出图像不稳定,有可能比不开 Xformers 略差

在平常运行 WebUI 的指令后加上 --xformers 即可让程序在运行时使用 xformers 来进行优化

提示

如果使用 bat 命令的,则直接加上 --xformers 参数即可

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers --skip-python-version-check

call webui.bat

示例运行指令:

python webui.py --deepdanbooru --no-half --precision full --port 6006 --share --disable-safe-unpickle --xformers

设置中文界面

注意,需要挂代理

1、打开页面,点击 Extensions

2、点击 Available

3、点击 Load From

4、取消 localization 前面的勾选

5、搜索 Simplified Chinese localization ,并 install 等待下载完成

提示

如果一直安装失败,可以到 tmp 目录下删掉这个文件,然后重新安装

8、在左侧栏找到 user interface,选择 Localizationg 后面的刷新按钮,刷新

9、选择对应的语言,保存后重新加载

References