当前位置:AIGC资讯 > AIGC > 正文

本地从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

更新时间 2023-12-17