当前位置:首页|资讯|Stable Diffusion

最细Stable Diffusion2.1+WebUI的安装部署教程(非大佬整合包,Revirsion)

作者:monikala发布时间:2023-02-18

版本20230118 Powered By Annix

本文档是我上一篇文档的更新(https://www.bilibili.com/read/cv20466834)。

由于作者水平有限,文档中难免有些问题。如果你发现了问题或者有更好的建议,非常感谢你向我提出!

本文档为滚动更新,更新日志我会放在前言章节下的目录板块中。我会不定期更新此文档,更新频率取决于我的个人时间安排。

文档制作不易,如果你觉得这篇文档对你有帮助,希望大家三连支持一下,非常感谢!

没啥好注释的


前言

Stable Diffusion是一款功能异常强大的AI图片生成器。它不仅支持生成图片,使用各种各样的模型来达到你想要的效果,还能训练你自己的专属模型。

WebUI使得Stable Diffusion有了一个更直观的用户界面,更适合新手用户。

但是,国内复杂的网络环境使得Stable Diffusion的安装变得比较麻烦,下载模型与调试问题也会比较费事。网上的信息也比较零散,在此做一个统一的整理。

人话君:不会还有人在用大佬整合包吧(笑

现存的问题

备注:后续若还有未解决的问题,我会列在此处。

  • Stable Diffusion2.0(或2.1)由于是刚发布的版本,其专属模型在国内还没有快速下载地址,但可以通过下载加速器(如迅雷、Aria2Ng等)获得较快的下载速度。如果有网友放出了国内的镜像地址,我会尽快放出。


  • 目前的简体中文补丁尚不完善,仍然有些地方(特别是扩展的翻译)不是简体中文。如果有新的语言补丁放出,我会尽快更新。


  • 部分模型或扩展功能安装后可能会因为出错而无法使用。

注意事项

  • 运行Stable Diffusion需要消耗较大的资源,对显卡的要求尤其高(至少4GB的VRAM)。所以,如果你没有较好的硬件资源,你可能需要在百度飞桨https://aistudio.baidu.com/)或Kagglehttps://www.kaggle.com/)这些网站上搭建服务器以获得免费的硬件资源。

  • 误区:很多网上的资料里的安装方法里都写了需要安装Anconda等其它程序,其实并不需要,不要把其它版本的Stable Diffusion和AUTOMATIC1111的Fork混为一谈,安装这些不必要的程序。这将节省不少步骤。

  • 对于显存较小的显卡,安装之后可能需要优化以获得更佳的性能。有关详细信息以及具体安装方法,我会附在文中。

  • 在以下步骤中,我使用Windows环境(Powershell)来做说明,Linux命令与Powershell命令大致相仿(Linux命令中使用的斜杠是正斜杠,而Powershell正好相反。所以在Linux下执行命令时,请把反斜杠换成正斜杠),如果有特殊的地方,我会单独作说明。

更新日志

  • 版本20221213:初版,同时也是放在Bilibili(https://www.bilibili.com/read/cv20466834)上的第一个版本。


  • 版本20221218:新增“更新日志”、“学习网址推荐”以及“模型简介”板块并完善内容。修正了部分语法错误以及不准确的地方,修补了不完整的内容。


  • 版本20221219:进一步完善内容,并增加Nvidia GeForce GTX 16系列显卡问题的解决方案以及“模型简介”板块。


  • 版本20221226:修复有关于Torch的致命问题,添加“Torch”板块。


  • 版本20230118:优化了一下语言(人话多了点,写文档没必要那么死板)。

    (人话君:6)

  • 版本20230217:前几天,我又仔细研究了一下Stable Diffusion,发现了先前版本的文档存在很多因我理解不够透彻而导致的漏洞,并在这个版本中修复了。同时,我会将这篇文档重新发布到Bilibili上。

Step1:安装需要的程序

Git

首先,我们需要安装Git。对于我们下一步的克隆来说,这是一个必不可少的工具。Windows的安装程序在https://registry.npmmirror.com/-/binary/git-for-windows/v2.38.1.windows.1/Git-2.38.1-64-bit.exe下载(实际Git版本并不影响使用,这里使用的是Git 2.38)下载之后安装。Linux则需要用到软件包管理工具(因发行版而异)。我拿Ubuntu举例:

# apt install git

Python

然后,我们需要安装Python 3.10。这是官方文档上指定的版本,Windows的安装程序在https://mirrors.huaweicloud.com/python/3.10.9/python-3.10.9-amd64.exe下载(Python 3.10.9)。如果你使用的是Linux,则可以使用包管理工具安装,并升级到最新版PIP:

# apt install python3 python3-pip python3-venv

# python -m pip install --upgrade pip

  • 注意:

    • Windows下安装Python时,请务必勾选“Add Python to PATH”,以后我们调度Python时会方便很多。

    • 如果你选择的是自定义安装,请务必在安装组件选择中勾选PIP(Python的包管理工具,无论是在接下来的安装中还是后续的使用中,我们都需要用到它)。

    • 由于Linux不同的发行版默认软件包版本不同,不保证一定是3.10,故如果通过软件包管理器安装的Python版本不符,需要自行下载编译。

Nvidia CUDA(按需)

  • 注意:

    • CUDA需要搭配Nvidia显卡驱动进行安装和使用。如果你使用的是AMD显卡,则需要使用Ort。详细安装及搭建方法请自行搜索。


    • 在安装CUDA之前,请确保你已安装Nvidia显卡驱动同的驱动版本固定搭配不同的CUDA版本(下面的步骤我使用的是Nvidia Driver 516.94+CUDA 11.7.1)。当然,如果你想使用更新的驱动,你也可以自行搜索其搭配的CUDA版本。

如果你使用的是Nvidia显卡,则需安装CUDA。这是几乎所有的AI在Nvidia显卡上都需要的东西。Windows下,在这里下载安装:https://developer.download.nvidia.cn/compute/cuda/11.7.1/local_installers/cuda_11.7.1_516.94_windows.exe(版本11.7.1,搭配Nvidia驱动516.94)进行下载安装,Linux可以在https://developer.nvidia.com/cuda-11-7-1-download-archive?target_os=Linux选择适合你的发行版的版本安装。

在Windows下,安装CUDA一般只用根据安装程序的提示就可以安装了。如果你不想安装太多冗余的东西,则可以只在安装选项中勾选RuntimeDevelopment(如果你不知道如何操作,可以在安装完成后再在系统设置中卸载)。

PyTorch

PyTorch也是Stable Diffusion不可缺少的依赖包,它主要用于拓展CUDA的功能。

注:PyTorch原本是可以在后面统一安装的,但它拥有特殊的版本依赖关系,所以我单独列出一个板块来介绍其安装方法。

就像不同的Nvidia驱动版本固定搭配不同的CUDA版本一样,不同的Torch版本也固定搭配不同的CUDA版本使用(下面的步骤中我使用PyTorch-1.13.1+CUDA11.7)。

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117

如果你使用的是不同版本的CUDA,你可能需要去https://pytorch.org/get-started/locally/查看你对应的Torch安装版本及安装命令(如下图)。

如图

Dev-Sidecar(可选,建议)

虽然我们使用了Ghproxy进行了Git加速,但还是可能由于网络原因导致克隆速度变慢。但是安装了Dev-Sidecar之后,就基本不会再出现这个问题了。

注:这个程序是可选的,如果你觉得不需要安装,可以直接跳到Step2。

Windows环境下可在https://ghproxy.com/https://github.com/docmirror/dev-sidecar/releases/download/v1.7.3/DevSidecar-1.7.3.exe下载,Linux环境下可以在https://ghproxy.com/https://github.com/docmirror/dev-sidecar/archive/refs/tags/v1.7.3.zip下载源代码进行编译(版本1.7.3)。

注:顺带说一下,这个项目在国内现已被Gitee封杀,在国内不通过特殊手段是无法下载的。开发者很不容易,希望各位也能支持一下开发者。

如果以上程序都已安装完毕,就可以进入下一步了。

Step2:克隆Stable Diffusion+WebUI

打开Windows终端(Powershell,不是CMD)。首先,检查磁盘的剩余空间(一个完整的Stable Diffusion大概需要占用30~40GB的剩余空间),然后进到你选好的磁盘或目录下(我选用的是Windows下的D盘,你也可以按需进入你想克隆的位置进行克隆):

cd D:  # 此处亦可输入你想要克隆的地址

注意:由于在Linux下不能使用Root用户来运行Stable Diffusion,故需切换到普通用户来进行克隆。

然后使用Git克隆AUTOMATIC1111的stable-diffusion-webui(这里我是用了Ghproxy在国内进行加速):

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

克隆完成后,进入到克隆好的目录。

cd .\stable-diffusion-webui

Step3:解决“疑难杂症”和配置WebUI

编辑launch.py

在国外,安装Stable Diffusion比较简单,但是由于国内的网络环境,安装过程中可能会遇上不少麻烦。

编辑“launch.py”(此处我是用的是Visual Studio Code。如果你需要,可以点击这里进行下载,Linux则需要用到你安装好的文本编辑器,例如Vim)。

code .\launch.py


替换前

替换所有的https://github.comhttps://ghproxy.com/https://github.com 。这里也是利用Ghproxy进行代理,加速国内Git。

注意:不要使用“全部替换”!当Code把所有的https://github.com替换过一遍后,就不必把https://ghproxy.com后面的https://github.com再替换一遍。

替换后

人话君:在菜单中依次选择编辑->替换,在弹出的小窗里的”查找”框里填上https://github.com,“替换”框里填上https://ghproxy.com/https://github.com,再按10下回车键即可(

替换完成后注意保存。

创建并配置Venv虚拟环境和安装PIP包

编辑完之后,我们需要进入Stable Diffusion自带的Venv虚拟Python环境以进行配置和安装依赖。由于刚克隆下来的Stabe Diffusion没有附带Venv,所以我们得先执行一遍如下命令,以创建一个Venv环境。

python -m venv .\venv

创建完成以后,我们进入到venv目录中的Scripts文件夹(Linux下是venv目录中的bin目录):

cd .\venv\Scripts

执行其中的“activate.bat”。

.\activate.bat

如果你使用的是Linux,则需要执行这个命令。

$ source activate

执行完成后,Windows命令行会自动清屏(之前执行的所有命令及输出结果清空),Linux的句首会出现“(venv)”的字样。此时,我们就成功进入到Venv环境中了。

成功进入Venv

Venv可以视作一个简化版的“虚拟Python”。新生成的Venv相当于删去了预置PIP包的Python,基本原理和完整Python无二异。所以,进入Venv后我们第一步要做的就是更换PIP源,以方便之后的PIP包的安装。这里我选择的是阿里的PIP源,在全国范围内都较快。

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ # 这里你也可以选择其它的PIP源进行更换

接着,我们需要安装Stable Diffusion和WebUI所需的PIP包。执行下列命令后耐心等待安装完成。

cd ../..

pip install -r requirements_versions.txt # 执行此条命令前,请检查你的剩余磁盘空间

然后我们执行“webui-user.bat”(Linux下是webui.bat)。

.\webui-user.bat

根据配置优化Stable Diffusion

直至目前,Stable Diffusion的基本框架已经被我们安装好了。但是根据我们配置的不同,还需要做一些简单的设置。

在Windows下,打开webui-user.bat(Linux下是webui.sh):

cd .. code .\webui-user.bat

将全部内容替换为:

@echo off

set PYTHON=C:\python\python.exe

set GIT=set VENV_DIR=venv

set COMMANDLINE_ARGS=--medvram --autolaunch --deepdanbooru --xformers

call webui.bat

Linux下,找到#export COMMANDLINE_ARGS=""这一行,去掉行首的“#”,并在两个双引号之间添加--medvram --autolaunch --xformers

注:此处的“--medvram”是针对6GB及以上显存的显卡优化的,根据显卡配置的不同,你还可以更改为“--lowvram”(4GB以上)、“--lowram”(16GB以上)或者删除此项(无优化)。此外,此处的“--xformers”选项可以开启Xformers。加上此选项后,显卡的VRAM占用率就会相较原来减少一半,能大幅提升图片生成效率。

其实,除了在此列出的选项外,还有很多其它的选项来实现其它的一些功能。如果你感兴趣,可以查看官方文档或者自行在网上搜索。

(人话君:作者太懒了)


Step4:下载Stable Diffusion模型

模型相当于Stable Diffusion的核心。在没有模型的情况下,Stable Diffusion是无法启动的。所以,我们需先下载模型。Hugging Face(https://huggingface.co)是学习使用Stable Diffusion的不可或缺的平台。你可以从此网站的Model版块中搜索你需要的模型名称来下载模型(由于Hugging Face的服务器在境外,下载模型可能需要用到加速器)。不同的模型有自己的美术风格。如momoko(具体模型介绍在模型简介板块),这个模型专门用来生成二次元图片。

Stable Diffusion的模型后缀名一般为ckpt。偶尔,模型也会附带VAE(.vae.pt)或配置文件(.yaml)。我们需要把ckpt模型、VAE以及配置文件放在models目录下的Stable-diffusion目录中。

注意:如果一个模型附带配置文件或者VAE,你则需要先把它们的文件名改为相同的文件名,然后再放入目录中,否则这个模型的配置可能无法正确读取,影响图片生成效果。

人话君注:就把下载页面中的所有文件连同模型一股脑丢进Stable-diffusion目录里,反正也不会出大问题(不是

Step5:配置你的Stable Diffusion WebUI

模型配置完成后,重新回到克隆目录中。

cd D:\stable-diffusion-webui

运行webui-user.bat(Linux下是webui-user.sh)。

.\webui-user.bat

如果你的终端显示的内容与下图相符,那么恭喜你,Stable Diffusion WebUI的基本框架安装成功了!

大功告成

注:在此,虽然我们在前面已安装过Stable Diffusion以及WebUI所需的PIP包,但PIP可能还会安装一些其它需要用到的包,静等其安装完成即可。由于我们在之前的步骤中已经修改过launch.py中的下载源,下载应该不会很慢。

WebUI

接着,我们会发现WebUI显示的并不是中文。此时,我们需要将其调整为简体中文。这里,我用百度网盘分享了一些语言的补丁。

  • 链接:https://pan.baidu.com/s/1X7R4nQfAxHKdoXRWyknSxg

  • 提取码:annx

下载我分享的“localizations.zip”并解压到克隆文件夹的“localizations”目录中之后在Settings -> User interface -> Localization (requires restart)设置语言(在下拉菜单中选择zh_CN)。然后重新启动WebUI之后,你就会发现语言变成了简体中文。

备注:目前的语言补丁还没有完全翻译。任然有些地方(特别是扩展)没有完全翻译。如果有新的语言补丁放出,我会尽快更新。

如果你愿意,还可以安装一些扩展来实现其它功能(如创建美术风格)。转到Extensions选项卡以安装扩展。

Adv1:使用Stable Diffusion2.0与2.1

Stable Diffusion2.0和2.1是两个刚刚发布的新版本。它们都有自己的专属模型。下面是它们的下载地址与介绍。

  • Stable Diffusion 2.0

    • 768-v-ema.ckpt与768-v-ema.yaml(需要改名):这是Stable Diffusion2.0的官方模型,相同的环境下,生成768x768分辨率的图片的速度几乎和1.5版生成512x512图片的速度相同,质量更好。

注:Stable Diffusion2.0还有更多模型,可以自行在Hugging Face上搜索。它们使用同一配置文件,模型放到目录后,只用复制一份配置文件,更改文件名即可。不用重复下载(因为这些模型一般都是根据Stable Diffusion1.5来训练的,使用同一个VAE)。

  • Stable Diffusion 2.1

    • v2-1_512-ema-pruned.ckpt:这是Stable Diffusion2.1的官方模型(专门生成512x512图像的版本),可以看作是Stable Diffuison2.0模型的升级版本。它和Stable Diffusion2.0的模型使用同一配置文件。

使用这些模型的方法和我前面介绍的方法一样,但镜像源不在国内,故需要用加速器下载。这一点我在前面有提到。只是我在读取Stable Diffusion2.0模型时,WebUI下载了一个3GB多的文件,也不知道是干什么用的。

Adv2:学习Stable Diffusion

人话君:作者太懒了,这一部分神马都没动

学习网址推荐

Bilibili上的元素法典(https://www.bilibili.com/read/cv19505389) 是学习Diffusion的一个不错的平台。在这个平台上,你将会学会Stable Diffusion的各种知识(例如描述词和反描述词)。要生成好的图片,除了要有好的模型,还要掌握一些技巧和知识。

  • 作为一位Stable Diffusion学习者,首选的信息获取网站应该是danbooru.donmai.us。绝大多数描述词的出处都在此(这一点元素法典制作组在元素同典:确实不完全科学的魔导书(https://www.bilibili.com/read/cv19505389)中有提到)但是我并不推荐这个网站,因为这个网站似乎不适用于中国国内网络环境。


  • 如果你也喜欢二次元,Black Lily(http://heizicao.gitee.io/novelai/#/book)可能很适合你。它是一个不错的二次元描述词获取源,提供的信息较多。


  • 此外,元素法典制作组也开放了一个NAI信息并联计划(https://kdocs.cn/l/cre0TwbMkdx3),这个上面有不少很好的可以获取的资源。

模型简介

在我们学习Stable Diffusion时,可以试着用不同的模型来尝试不同的美术风格(如古典风格、二次元风格、中国风、写实风等)。下面是我整理的一些不同模型的风格,可以作为参考。

  • 写实与绘画——Stable Diffusion官方模型(2.0或2.1)

Stable Diffusion的官方模型是混合模型,偏重于写实与绘画,风景和人物都可以生成出较好的效果。

  • 二次元风格——Momoko:

这个模型主要用于生成二次元风格(如动漫,CG),相较于其它二次元模型,改善了手部的生成效果,感觉还不错。

  • 百宝箱——Anything:

我觉得这个模型很了不起。据说这个模型是国人自己训练的,而且名副其实,它能以很好的效果生成很多东西——从二次元到油画风。

  • 专门生成女性——F222:

这个模型专门用于生成女性(我感觉有点偏向于CG风)。



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1