stable diffusion入门教程(一):本地安装部署

最近AI绘图很火,于是我也尝试了下最近很火的工具之一:stable diffusion

中间我也找了不少文章、视频教程来学习使用,这里我把找到的几个实测可行、简单明了的教程分享出来,方便大家入门学习。

下文转载自:https://zhuanlan.zhihu.com/p/613530403

安装

一、前言

1.为什么要本地部署

因为没有生成数量的限制,不用花钱,不用被nsfw约束,生成时间快,不用排队,自由度高很多,可以调试和个性化的地方也更多。
如果说,会用各大在线的AI绘图平台来生成图像的话,算是ai绘画的小学生级别。
那么,如果会使用本地化部署来运行ai绘画的话,那就已经算得上是高中毕业,进入成年啦。
等你能够使用AI绘图指哪打哪,想怎么画怎么画,那就已经是大学毕业,学成归来的牛逼人物啦。

2.本地化部署的要求

本地化部署运行虽然很好,但是也有一些基本要求
(1)需要拥有NVIDIA显卡,GT1060起,显存4G以上。(已经不需要3080起,亲民不少)
(2)操作系统需要win10或者win11的系统。
MacOS平台本地化请见《如何在mac电脑上运行stable diffusion来做AI绘画
(3)电脑内存16G或者以上。
(4)最好会魔法上网,否则网络波动,有些网页打不开,有时下载很慢。
(5)耐心,多尝试,多搜索。这个教程我已经重复过2次,因此很多问题基本上都踩坑并写出来了。所以请放心,能跑通的。
我的电脑配置供大家参考,Win11,I5,NVIDIA GT1060 5G,16G
生成一张20step的图大概20-30s(若使用更高性能的电脑,生成速度更快。)

3.使用的项目Stable diffusion WebUI项目

Stable diffusion大家都知道了,是当前最多人使用且效果最好的开源AI绘图软件之一,属于当红炸子鸡了。
不过,stable diffusion项目本地化的部署,是纯代码界面,使用起来对于非程序员没那么友好。
而stable diffusion webui,是基于stable diffusion 项目的可视化操作项目。
通过可视化的网页操作,更方便调试prompt,及各种参数。
同时也附加了很多功能,比如img2img功能,extra放大图片功能等等。
本地stable diffusion webui 的AI绘图界面本地stable diffusion webui 的AI绘图界面
因此stable diffusion webui项目是很多人部署到本地的首选。
我们本教程就是以stable diffusion webui项目为例来操作的。

二、电脑环境配置

1.安装miniconda

这个是用来管理python版本的,他可以实现python的多版本切换。
下载地址:http://docs.conda.io/en/latest/miniconda.html
miniconda下载页面截图miniconda下载页面截图
安装时按默认的一路next就行。

2.打开miniconda,输入conda -V 弹出版本号即为正确安装

开始菜单-输入mini-找到miniconda3打开开始菜单-输入mini-找到miniconda3打开
显示conda版本,那就对了显示conda版本,那就对了

3.配置库包下载环境,加快网络速度(替换下载库包地址为国内的清华镜像站)

执行下面生成.condarc 文件

1
conda config --set show_channel_urls yes

在我的电脑/此电脑-C盘-users-你的账号名下用记事本打开并修改.condarc文件。(如我的路径是C:\Users\Administrator。)
把下面的内容全部复制进去,全部覆盖原内容,ctrl+s保存,关闭文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

运行conda clean -i 清除索引缓存,以确保使用的是镜像站的地址。

4.切换成其他盘来创建python环境

如果继续操作,会把整个项目创建在c盘,而很多人c盘容量紧张,可以创建在其他盘,比如D盘。
输入D: 然后回车。
(后来才发现这一步并不能把项目装在d盘,他仍然是在c盘,不过没关系,他很小,不会占用太多空间,那咱继续往下操作)

5.创建python 3.10.6版本的环境

运行下面语句,创建环境。

1
conda create --name stable-diffusion-webui python=3.10.6

系统可能会提示y/n, 输入y,按回车即可。

显示done,那就完成了。
在你的C:\ProgramData\Miniconda3\envs\stable-diffusion-webui已经创建了一个新的项目。

6.激活环境

输入conda activate stable-diffusion-webui 回车。

7.升级pip,并设置pip的默认库包下载地址为清华镜像。

每一行输入后回车,等执行完再输入下一行,再回车。

1
2
python -m pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

不报错就是完成了。

8.安装git,用来克隆下载github的项目,比如本作中的stable diffusion webui

前往git官网http://git-scm.com/download/win

下载好后,一路默认安装,next即可。
开始菜单-输入“git”,找到git cmd。

打开并输入下面指令。

1
git --version

查看git的版本,显示了版本号即安装成功。

9.安装cuda

cuda是NVIDIA显卡用来跑算法的依赖程序,所以我们需要它。
打开NVIDIA cuda官网,http://developer.nvidia.com/cuda-toolkit-archive
(这里有人可能会打不开网页,如果打不开,请用魔法上网。)
你会发现有很多版本,下载哪个版本呢?

回到一开始的miniconda的小窗,输入nvidia-smi,查看你的cuda版本

比如我的是11.7的版本,我就下载11.7.0的链接,

然后按照自己的系统,选择win10或者11,exe local,download
下载完后安装,这个软件2个G,可以安装在c盘以外的地方。比如D盘。
好了,完成这步,电脑的基础环境设置终于完事了。
下面开始正式折腾stable diffusion了。

三、stable diffusion环境配置

1.下载stable diffusion源码

确认你的miniconda黑色小窗显示的是

1
(stable-diffusion-weibui)D:\>

如果不是,则输入D: 按回车。
(当然你也可以放在其他你想放的盘的根目录里面。
不建议放在c盘,因为这个项目里面有一些模型包,都是几个G几个G的,很容易你的C盘就满了,其他盘容量在10G以上的就都行。
放其他盘,则输入比如e: f: g: 等,然后回车即可。)
再来克隆stable diffusion webui项目(下面简称sd-webui)
接着执行

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

直到显示done即可。

注意,现在克隆的本地地址,就是下面经常提到的“项目根目录”。比如,我的项目根目录是D:\stable-diffusion-webui

2.下载stable diffusion的训练模型

http://huggingface.co/CompVis/stable-diffusion-v-1-4-original/tree/main
点击file and versions选项卡,下载sd-v1-4.ckpt训练模型。
(需要注册且同意协议,注册并同意协议之后即可下载)

注:这个模型是用于后续生成AI绘图的绘图元素基础模型库。
后面如果要用waifuai或者novelai,其实更换模型放进去sd-webui项目的模型文件夹即可。
我们现在先用stable diffusion 1.4的模型来继续往下走。

3.下载好之后,请把模型更名成model.ckpt,然后放置在sd-webui的models/stable-diffusion目录下。比如我的路径是D:\stable-diffusion-webui\models\Stable-diffusion

4.准备开启运行ai绘图程序sd-webui

在miniconda的黑色小窗,执行下面指令,进入项目文件夹:

1
cd stable-diffusion-webui

执行下面指令, 打开webui的应用程序,

1
webui-user.bat

接下来就是等待系统自动执行。
直到系统提示,running on local URL: http://127.0.0.1:7860
这就代表,你可以开始正式使用AI画画啦~

问题&解决

(1)不小心退出了黑色窗口

重新点击 开始菜单-程序-打开miniconda窗口,依次输入执行

1
2
3
4
> conda activate stable-diffusion-webui
> f:
> cd stable-diffusion-webui
> webui-user.bat

(2)长时间卡在Installing gfpgan(或者installing clip,installing open_clip)这个环节

那么进入F:\stable-diffusion-webui文件夹下面,找到launch.py这个文件,用记事本打开。
在第200多行到300行的位置,找到这段代码。

并在“https://github.com/xxx”的最前面,加上:https://ghproxy.com/
加三个位置,变成如下状态,

然后ctrl + s保存后退出。
这就相当于让原来从github下载相关程序包变成了走国内镜像下载相关程序包,这样会增加网络的稳定性和网络速度。
改完之后,下面继续执行webui-user.bat。

附录:

模型网站:https://civitai.com/


评论区