本地从0搭建Stable Diffusion WebUI及错误记录

Posted xcSpark

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了本地从0搭建Stable Diffusion WebUI及错误记录相关的知识,希望对你有一定的参考价值。

从0开始搭建本地Stable Diffusion WebUI环境

一.环境配置

1.使用的电脑配置

系统Windows10
处理器英特尔 i7
内存24GB
显卡NVIDIA GTX 1060(6GB)

2.镜像源

阿里云
清华大学
中国科技大学

3.电脑环境变量配置

我的电脑–属性–高级系统设置–系统属性(高级)–环境变量

新建环境变量,点击确定

编辑path,点击新建

增加NVSMI_HOME配置

二.软件下载及安装

1.安装git

下载git

下载好双击安装,点击next一路默认安装。
打开cmd命令窗口输入

git --version

2.下载miniconda

下载miniconda

windows电脑选择如下

2.1.安装

双击安装





打开miniconda

conda -V 

conda config --set show_channel_urls yes
# 清除索引缓存
conda clean -i
# 输入y

3.搭建sdwebui python环境

这里用的python3.10

conda create --name sdwebui python=3.10.9



输入y

此处升级了conda

conda update -n base -c defaults conda


输入y

4.激活环境

# 输入
conda env list
conda activate sdwebui

5.升级pip

将pip升级

python -m pip install --upgrade pip

设置镜像源(原先用的清华镜像,此处设置阿里云镜像)

pip config set global.index-url  http://mirrors.aliyun.com/pypi/simple/

6.安装CUDA

CUDA是NVIDIA显卡执行算法需要用的程序

6.1先检查电脑的CUDA版本

在miniconda命令窗口输入nvidia-smi

nvidia-smi


或者打开NVIDIA控制面板–帮助–系统信息


6.2下载对应版本CUDA

CUDA下载



此处下载10.0版本

6.3安装CUDA

下载完,双击安装包,选择自定义的目录(不选择使用默认位置,确保空间足够即可)

等待执行完成

Visual Studio 取消勾选(本电脑未安装visual studio)


取消勾选NVIDIA GeForce和Driver components,当前版本已经比安装的要高了,就不安装低版本了

默认的安装位置

安装失败。。。。

6.4.升级驱动

NVIDIA驱动下载

知道电脑配置可以手动搜索

下载NVIDIA Studio驱动程序,下载前查看NVIDIA Studio对应的版本和电脑的配置是否对应。

安装


等待安装完成

6.4.1 检查NVIDIA版本

打开NVIDIA控制面板,检查版本

此时要求的CUDA版本为12.1版本了,因此需要重新下载12版本的CUDA

命令行检查,CUDA Version也为12.1版本

6.5 重新下载新版CUDA

重启一下电脑

打开CUDA页面,找到版本为12.1,重新下载

安装选择默认路径,自定义安装,只安装CUDA,其他的驱动已经是新版了不需要重复安装。

Nsight VSE、Visual Studio 取消勾选


7.下载stable-diffusion-webui

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

或者直接下载压缩包

8.下载训练模型Stable Diffusion

Stable Diffusion下载地址
下载模型,此处选择stable-diffusion-2-1版本

此处点击stabilityai/stable-diffusion-2-1,点击右侧的下载按钮

将下载的v2-1_768-ema-pruned.safetensors文件复制到models/Stable-diffusion模型文件夹下
如G:\\sd_webui\\models\\Stable-diffusion,具体路径根据实际情况

三.运行webui

打开miniconda窗口,进入stable diffusion的解压目录

1.执行webui-user.bat



1.1修改launch.py

执行了几次失败,用文本编辑器打开launch.py文件(解压的文件夹下)

搜索prepare_environment,找到对应位置
将后面的地址加上代理地址https://ghproxy.com/

保存后,继续执行webui-user.bat

1.2报错No matching distribution found for gradio==3.23

错误:ERROR: No matching distribution found for gradio==3.23

1.3更换新源(之前搭建用的清华镜像源)

pip config set global.index-url  http://mirrors.aliyun.com/pypi/simple/

1.4升级下pip

G:\\sd_webui\\venv\\Scripts\\python.exe -m pip install --upgrade pip


1.5修改webui-user.bat文件

报错信息
错误:No module ‘xformers’. Proceeding without it.

编辑器打开webui-user.bat文件,增加一行

set COMMANDLINE_ARGS=--xformers

2.再次执行webui-user.bat

修复完错误问题后,再次运行。

四.使用

4.1 访问webui

打开图中的URL地址:http://127.0.0.1:7860

设置

4.2 安装扩展

4.2.1 安装扩展

若通过url方式安装失败,可以下载压缩包,解压安装。

方式一:Available 页面安装

点击Extensions,取消localization勾选,下面会列出来很多extension。

若取消localization勾选没显示,则在Extension index URL加代理地址,在点击"Load from"按钮。

在下面找到中文安装包,点击右侧Install按钮

方式二:Install from URL(略)

也可通过Install from URL 方式安装,粘贴url后点击Install按钮。

方式三:下载压缩包方式安装

扩展包地址

中文汉化包地址

打开sd-webui-controlnet地址,点击Code按钮,点击Download ZIP下载ZIP包


解压到webui项目的extensions-builtin目录下

点击页面的Apply and restart UI 按钮。

点击Extensions — Installed查看已经存在。

安装汉化包,安装方法同上(略)

4.2.2 生效extension

生效汉化包

安装完成后,点击setting----->User interface---->Localization (requires restart)(选择中文)


点击最上方的Apply setting 按钮,点击Reload UI按钮

五.体验

输入water,敲CTRL+ENTER或者右侧的Generate按钮
同时可以在后台看到正在运行

效果

六.创建一键启动的脚本

进入F盘(根据实际情况),新建一个文件名为startWebUI.bat文件。以后开机只要执行这个脚本就能启动sdwebui项目了。

用文本编辑器编辑如下内容


rem 激活miniconda环境
call C:\\ProgramData\\miniconda3\\Scripts\\activate.bat C:\\ProgramData\\miniconda3
rem 激活sdwebui
::conda activate sdwebui
rem 进入webui工程目录G盘
G:
cd sd_webui
rem 启动sdwebui应用程序

:: 注释call方式调用,使用start方式
::call webui-user.bat

::启动webui并调用浏览器无痕窗口自动打开webui的地址
:: 第二个start的第一个参数是谷歌浏览器路径,第二个参数--incognito是无痕模式,第三个参数是webui启动后默认地址

start webui-user.bat && start C:\\Users\\administrator\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe  --incognito "http://127.0.0.1:7860"


打开cmd命令窗口,执行

startWebUI.bat

此时会新打开命令行窗口执行webUI,并打开浏览器无痕窗口访问webUI的地址,等待webUI启动完成后,浏览器自动显示页面。(若webUI正常启动后,浏览器无法访问,则刷新一下)

原先call方式调用参考

七.其他错误记录

之前运行正常,突然失败错误如下
RuntimeError: CachingAllocator option max_split_size_mb too small, must be > 20

解决方法
修改webui-user.bat文件增加配置,当前电脑显卡内存6G,因此先设置6G。

set PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:6144

AI生成图像竟如此真实了?Stable Diffusion Model本地部署教程

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


本文目录


图像生成

Stable Diffusion Model 是一个基于扩散模型的图像生成模型。早在模型刚刚兴起的时候,博主就有所关注,尝试过本地部署,但是由于设备硬件配置限制,最终也没有能够真正的在本地跑起来。

考虑到人工智能各个领域的模型都是往着大模型方向发展,所以博主觉得如果当时跑不起来,在不更新硬件的情况下,以后也没有机会再跑了。

当时各个在线 AI 图片生成平台生成的效果往往都不尽人意,并且不支持自己训练模型,博主就很长一段时间没有再关注这个领域了。

前几天偶然发现 AI 生成图片的效果有明显的提升,甚至可以说是有些惊艳了。于是博主在网上恶补了这段时间的相关知识,发现进步似乎比我想象的还要大。


stable-diffusion-webui

stable-diffusion-webuiAUTOMATIC1111 大佬在 Github 上开源的一个专用于图片生成模型的 WebUI,可以在本地部署,支持导入模型和自己训练。

重要的是,该项目的部署方式非常简单,不需要任何的编程基础,环境也会帮你自动配置好;GUI 的操作也非常简单,所见即所得。

你所做的只是要安装 git,下载项目,然后点击运行脚本,就可以了,部署和使用门槛大大降低。


Stable Diffusion Model

除了 stable-diffusion-webui 外,我们还需要一个图片生成模型才能生成图片。

模型可以自己训练,但我推荐第一次还是直接下载别人训练好的模型,这样可以直接体验。各种的 Stable Diffusion 模型可以在 Civitai 上找到。

现在的各种模型对硬件要求各不相同,有的模型不仅效果好于从前,而且硬件要求也比原来更低了。

博主使用的显卡为 NVIDIA GeForce RTX 3050 Ti Laptop GPU,只有 4G 显存。以前的模型连生成 128x128 的图片都会爆显存,现在的模型却可以生成 512x768 的图片。

硬件门槛也没有以前那么高了。


本地部署

本教程的设备要求:

  • 显卡为 NVIDIA 显卡,显存大于 4G
  • 硬盘空间足够
  • Windows 系统

安装 git

首先,我们需要安装 git,如果你已经安装了 git,可以跳过这一步。

git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

git 的安装非常简单,只需要在 git 官网 下载安装包,然后正常安装就可以了。

stable-diffusion-webui 需要使用它来自动配置环境。

项目下载

点击以下链接下载项目 release:
stable-diffusion-webui

项目部署

下载完成后,解压到任意目录,然后双击运行 update.bat,更新项目为最新版本。

当出现以下信息时,说明项目已经是最新的:

然后双击运行 run.bat,运行项目。首次运行会安装环境,所以需要等待一段时间。环境安装时出现错误通常属于 GitHub 的连接问题,可以自行设置代理。

安装的环境是 Pytorch 和 CUDA 以及一些 Python 第三方库和 Github 上的项目,安装过程中会自动下载。stable-diffusion-webui 自带 Python,所以不需要自己安装 Python 环境。

当出现以下信息时,说明 WebUI 已经运行在本地了:

在浏览器中访问 local URL,即可打开 WebUI。

模型导入

.safetensors.ckpt 后缀的模型文件放入以下目录下,然后重启 WebUI 即可。

sd.webui/webui/models/Stable-diffusion/

多个模型之间还可以通过 WebUI 切换。

中文支持

在 WebUI 的 Extentions 中,选择 install from URL,输入以下 URL,点击 install:

https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN

安装完成之后,在 Settings 的 User interface 中,选择 Localization (requires restart),选择 zh-CN。

回到 Settings 最上面点击 Apply settings,然后点击 Reload UI。

UI汉化效果:

其他内容的安装

  • Lora 文件可以放在sd.webui/webui/models/Lora/下,通过 Prompt 输入 Lora 指令使用
  • VAE 文件可以放在sd.webui/webui/models/VAE/下,在设置的 Stable Diffusion 版面设置模型的 VAE
  • extensions 文件可以放在sd.webui/webui/extensions/下,通过 WebUI 的 Extentions 版面启用
  • textual inversion 文件可以放在sd.webui/webui/embeddings/下,通过 Prompt 输入关键词使用

相关资源都可以在 Civitai 上找到,可以自行下载、安装、体验。


一些生成图片的展示

以下图片来自相同模型,使用同一 Prompt 进行随机生成:

图片被判定违规,图片效果请见:小嗷犬的技术小站 - AI生成图像竟如此真实了?Stable Diffusion Model本地部署教程


不同采样方法之间的比较

同一模型可以选择不同的采样方式进行采样,生成的图片也会有所不同。

以下图片都来自相同模型、相同 Prompt、相同 Seed 的生成结果,只是采样方法不同,其他参数完全一致。

图片被判定违规,对比图片效果请见:小嗷犬的技术小站 - AI生成图像竟如此真实了?Stable Diffusion Model本地部署教程

以上是关于本地从0搭建Stable Diffusion WebUI及错误记录的主要内容,如果未能解决你的问题,请参考以下文章

AI专业教您保姆级在暗影精灵8Windows11上本地部署实现AI绘画:Stable Diffusion(万字教程,多图预警)

无需本地部署 在线使用Stable Diffusion Webui 使用共享模型

AI - stable-diffusion(AI绘画)的搭建与使用

深度学习Stable Diffusion AI 绘画项目搭建详解,并运行案例

Stable Diffusion - API和微服务开发

换模型更简单如何用 Serverless 一键部署 Stable Diffusion?