在Windows部署Stable Diffusion

Part1前言

分享玩AI绘画Stable Diffusion工具

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

考虑到因为没有生成数量的限制,不用花钱,生成时间快,不用排队,自由度高,插件丰富,功能众多,可以调试和个性化的地方也更多。.

所以我迫不及待地把Stable Diffusion装在自己电脑上,供我在平时无聊的时候随便玩玩。我又想画画又没有个画画的本事,只能图个心理满足。现在借助AI绘画工具,我也能满足体验一番画画的冲动,将脑海中的灵感变成图片。

先放一张图欣赏:

在Windows部署Stable Diffusion

Part2硬件需求

本地化部署运行虽然很好,但是也有一些基本要求,可以先对系统进行检查,看看显卡是否支持

1显卡(GPU)

  1. 需要用到 CUDA 架构,推荐使用 N 卡。(目前已经有了对 A 卡的相关支持,但运算的速度依旧明显慢于 N 卡,参见:

Install and Run on AMD GPUs · AUTOMATIC1111/stable-diffusion-webui Wiki · GitHub)

  1. 显存越大越好。显存越大,可以生成的图片分辨率就越大,最低配置4GB显存,基本配置6GB显存,推荐配置8GB显存以上

  2. 性能越强出图越快

2内存

内存16G或者以上,至少有一个128G以上的SSD固态硬盘。

3环境

最低要求win10以上

提醒:

  1. 如果不知道自己电脑配置,可以在Windows【开始】点鼠标右键,选择【任务管理器】,在【性能】一栏中,可以到各项信息或者可以下载鲁大师等相关软件,点击硬件检测,就能看到显卡,显存,CPU,内存等信息。

  2. 网络波动,有些网页会打不开,有些下载很慢,在这里可能需要会科学上网

如果满足相关软硬件要求,请继续往下看 (当然如果还是想拥有自建的SD,也可以通过购买云服务器等方式搭建)

Part3软件需求

git:  https://gitforwindows.org

python :https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe

anaconda:https://www.anaconda.com/ (可选)

41、安装基础软件

1.1.安装git

https://gitforwindows.org (已安装的可忽略), 下载,一直下一步便可。

在Windows部署Stable Diffusion

1.2 安装python

这里SD WebUI限定版本为3.10.6,可以到python官网下载对应版本:https://www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe

在Windows部署Stable Diffusion

安装前务必勾选Add Python 3.10 to PATH,將Python加到环境变量中。

已经安装的,可以通过“cmd”,回车,在命令行里输入:

python --version

来检测是否安装成功

1.3 安装显卡驱动程序

确认本机已经安装最新的显卡驱动程序,主要是用来跑算法的依赖程序

这里用的是Nvidia显卡,所以通过安装cuda依赖程序

https://developer.nvidia.com/cuda-toolkit-archive

在命令行窗口输入 nvidia-smi,查看本机cuda版本,再下载对应的cuda版本

注意:如果输入nvidia-smi报错,请将命令行的路径切换到 C:\Program Files\NVIDIA Corporation\NVSMI 再试

在Windows部署Stable Diffusion

operating system: windows

Version: 选你自己的操作系统版本

Installer Type: 安装类型,这里可以选exe离线包,会快些

在Windows部署Stable Diffusion

52、安装Stable-Diffusion-WebUI

(网络不好,可以科学上网)

2.1  下载项目源码

使用 git 下载项目源码,假如我们要将 stable-diffusion-webui 放在D盘,在D盘的文件地址栏,输入cmd回车,再输入

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
  1. 本机找一个空间比较大的盘,将项目克隆到自建文件夹中

  2. 如果出现问题:OpenSSL SSL_read: Connection was reset, errno 10054,

    解决方法:关闭git的https证书验证,再继续克隆代码

      git config --global http.sslVerify false
    

2.2 运行

方式一

找到上面下载好的文件夹,找到 webui-user.bat ,双击运行

在Windows部署Stable Diffusion

等待下载。。。(可能需要科学上网,或需要通过修改文件,使用国内镜像源)

一切顺利的话,接下来会下载几个G的东西,中间如果卡住,还是关闭命令行、重新打开 webui-user.bat

在Windows部署Stable Diffusion

当你看到这个网址的时候,表示已经安装成功了,并已经启动了服务

把http://127.0.0.1:7860复制到浏览器中打开,进入Stable Diffusion界面

在Windows部署Stable Diffusion

方式二

如果你熟悉Python开发的话,改用Anaconda设定Python虚拟环境会更好。

Anaconda是针对资料科学打造的Python发行版,能管理一部电脑上的多重Python版本。如果之前已经装过旧版Python,不需要解除安装。

1. 安装Anaconda

https://www.anaconda.com/

安装Stable Diffusion WebUI的依赖套件,同时将conda加入环境变数。

  1. 如果你没加conda加入环境变量,那么你需要在在开始菜单输入Anaconda3 下,打开 Anaconda Powershell Prompt (Anaconda3)或者Anaconda Prompt (Anaconda3)

  2. 建立Pyhton 3.10.6的虚拟环境,输入:

  conda create --name sdwebui python=3.10.6
2. 创建项目环境

使用conda 创建项目环境

切换上一步下载到本地的Stable Diffusion WebUI所在资料夹

conda create --name stable-diffusion-webui python=3.10
3. 激活项目环境
conda activate stable-diffusion-webui
4. 启动webui-user.bat

安装Python依赖套件。

找到之前存放的位置文件夹stable-diffusion-webui,找到 webui-user.bat,点击执行

执行后,将会自动下载stable-diffusion相关依赖,此步骤需要的时间较长,请确保网络稳定,耐心等待

5. 安装成功后

跟方式一一样,会命令行窗口看到网址,把http://127.0.0.1:7860复制到浏览器中打开,进入Stable Diffusion界面

后续每次使用stable-diffusion,找到之前存放的位置文件夹stable-diffusion-webui,找到 webui-user.bat ,双击运行即可

执行程序使用过程中请勿关闭终端,执行若出错终端也会输出对应信息

63、安装中文语言包

项目地址:GitHub - VinsonLaro/stable-diffusion-webui-chinese: stable-diffusion-webui 的汉化版本

安装语言包方法

方式一:通过WebUI拓展进行安装

  1. 打开stable diffusion webui,进入"Extensions"选项卡

  2. 点击"Install from URL",注意"URL for extension's git repository"下方的输入框

  3. 粘贴或输入本Git仓库地址https://github.com/VinsonLaro/stable-diffusion-webui-chinese

  4. 点击下方的黄色按钮"Install"即可完成安装,然后重启WebUI(点击"Install from URL"左方的"Installed",然后点击黄色按钮"Apply and restart UI"网页下方的"Reload UI"完成重启)

  5. 点击"Settings",左侧点击"User interface"界面,在界面里最下方的"Localization (requires restart)",选择"Chinese-All"或者"Chinese-English"

  6. 点击界面最上方的黄色按钮"Apply settings",再点击右侧的"Reload UI"即可完成汉化

方式二:直接复制翻译好的本地化模板

  1. 在任意目录下使用git clone https://github.com/VinsonLaro/stable-diffusion-webui-chinese

  2. 进入下载好的文件夹,把"localizations"文件夹内的"Chinese-All.json"和"Chinese-English.json"复制到"stable-diffusion-webui\localizations"目录下

  3. 点击"Settings",左侧点击"User interface"界面,在界面里最下方的"Localization (requires restart)",选择"Chinese-All"或者"Chinese-English"

  4. 点击界面最上方的黄色按钮"Apply settings",再点击右侧的"Reload UI"即可完成汉化

在Windows部署Stable Diffusion

Part4常见问题

71、RuntimeError

RuntimeError: CUDA Out of memory

显卡的VRAM不足。Stable Diffusion WebUI的显卡最低要求为4GB,要无压力的玩建议8GB以上。

开启webui-user.bat,在COMMANDLINE_ARGS后面加入--mdevram或--lowvram引数,降低VRAM使用量。如果还是在生图时出现此错误,建议降低解析度,或是买张更好的显卡,或是改用Google Colab。

82、连接失败

fatal: unable to access Recv failure: Connection was reset

网络问题,可能需要科学上网或改DNS或需要通过修改文件,使用国内镜像源,但是有时只将部份网址换成“国内源”是不够的,因为Stable Diffussion WebUI还会尝试从HuggingFace等处下载脸部模型。有可能还是通过科学方式,避免连接中断。

93. 空间不足

OSError: [Errno 28] No space left on device

硬盘或存储文件夹没空间了,需要通过清理空间后,删除stable-diffusion-webui中的venv文件夹,再重新执行webui-user.bat重装。

  1. 有时候GitHub下载会比较慢,要耐心等待,如果下载失败,可以晚点再重新执行。

  2. 你可以到Github对应的ATOMATIC1111储存库的Issue查看别人遇过的错误信息。

如果遇到了真正无法解决的错误,也可以通过Issue提Bug Report,填写自己安装的异常问题。

  1. 耐心,多尝试,多搜索查阅资料。很多问题踩过坑之后,相信是可以解决的。

Part5欣赏

在Windows部署Stable Diffusion

Part6说明

觉得麻烦的同学可以使用整合包,解压即用。网上有很多相关大神做了整合包,经常更新整合包,也方便安装使用,只需将启动器复制到下载仓库的目录下即可,更新管理会更方便。(自行网上搜索)

Part7附录

Stable Diffusion Webui:AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI (github.com)

Stable Diffusion Webui 文档:Home · AUTOMATIC1111/stable-diffusion-webui Wiki (github.com)