三、stable-diffusion-webui Intel CPU/核显版安装
bili_305256810
2024年08月24日 11:59
收录于文集
共4篇
AI改变世界 这就是AI

为软件配置虚拟环境(此处需要开启魔法)

1、源码下载:

从https://github.com/openvinotoolkit/stable-diffusion-webui/wiki/Installation-on-Intel-Silicon的自述文件中我们看到如下内容

我们先下载git,并双击安装即可,这个没什么难度,然后Python 3.10.6,这个不用下载,因为前面我们已经在conda内创建好了虚拟环境。

安装好git之后,通过“Git Gui”克隆存储库

选择Clone Existing Repository然后直接放到D盘

注意:网上的教程大多是运行“webui-user.bat”,该脚本文件实在源码目录下新建一个“venv”,将依赖全部下载该虚拟环境下,与我们使用的Anaconda不同,我们需要避免该操作,否则会遇到gfpgan一直安装不了的一系列问题。

 2、安装软件依赖(参考之前笔记启动创建的OpenVionSD虚拟环境)

(OpenVionSD) D:\anaconda3\envs>cd D:\OpenVionSD

安装指定版本号的依赖:

(OpenVionSD) D:\OpenVionSD>pip install -r requirements_versions.txt

不建议的方法,安装不指定版本号的依赖(安装过程中所有依赖基本会安装最新版本,有可能反而用不了):

(OpenVionSD) D:\OpenVionSD>pip install -r requirements.txt

3、依赖环境安装过程中异常处理

以下是我碰到的各种异常,如果你一切顺利可以忽略,碰到了就在这里在找找,有什么新的问题,评论区留言~

A、pip版本过高引起的异常

(OpenVionSD) D:\OpenVionSD>pip install -r requirements_versions.txt

会存在不少资源安装不了的情况,对于安装失败的依赖包我们可以尝试切换豆瓣源进行安装,降低pip的版本进行安装等等

比如:

这里提示torchsde 0.2.5在高版本的pip中被废弃了,所以装不上,这里只能先降低下pip的版本,然后再尝试安装

根据提示,我们先降低pip版本到24.1

(OpenVionSD) D:\OpenVionSD>python.exe -m pip install pip==24.1

重新尝试安装软件环境依赖

(OpenVionSD) D:\ OpenVionSD > pip install -r requirements_versions.txt

这里依旧报错,我们继续降低版本

先看下pip所有可安装的版本

(OpenVionSD) D:\OpenVionSD>pip index versions pip

选择尽量接近当前版本的前一个版本进行安装

(OpenVionSD) D:\OpenVionSD>python.exe -m pip install pip==24.0

再次尝试安装软件环境依赖

(OpenVionSD) D:\ OpenVionSD > pip install -r requirements_versions.txt

发现降低到2.4.0之后可以了,然后我们继续操作

这里一路顺利,除了下面有个警告

查询了一下相关解决方案(不解决也没有影响):

torchsde 0.2.5被其他模块依赖时会遇到如下错误:

WARNING: Error parsing dependencies of torchsde: .* suffix can only be used with `==` or `!=` operators

   numpy (>=1.19.*) ; python_version >= "3.7"

          ~~~~~~~^

解决方式是:

打开文件夹:D:\anaconda3\envs\OpenVionSD\Lib\site-packages\torchsde-0.2.5.dist-info

找到文件:METADATA

复制到其他地方进行编辑(原位置编辑无法保存)

修改如下语句(去掉numpy (>=1.19.*)语句中的.*)

Requires-Dist: numpy (>=1.19.*) ; python_version >= "3.7"

Requires-Dist: numpy (>=1.19) ; python_version >= "3.7"

B、安装源下载异常引起的异常

例如安装gfpgan,可以使用如下的命令

pip install gfpgan -i http://pypi.douban.com/simple --trusted-host http://pypi.douban.com

pip install 库名称 -i http://pypi.douban.com/simple --trusted-host http://pypi.douban.com

安装完成之后的输入pip list,查看依赖是否都安装完成,缺少的重复上一步,直到依赖环境都安装完成。

 C、不能克隆下载的问题

RuntimeError: Couldn't clone Stable Diffusion.

Command: "git" clone "https://github.com/Stability-AI/stablediffusion.git" "D:\OpenVionSD\repositories\stable-diffusion-stability-ai"

这种克隆不了的错误,我们自行按照要求使用Git Gui克隆一份到指定目录下,再进行后续操作:

4、软件运行测试

A、标准启动命令

运行如下启动命令,如果一切顺利可以正常打开网站进行功能测试

(OpenVionSD) D:\OpenVionSD>Python launch.py

B、启动过程中异常处理

1)Python launch.py弹窗提示此应用无法在你的电脑运行

检查“D:\OpenVionSD>”下是否有个0字节的Python文件,删除之后再运行就可以了

2)torch-cuda-test错误

由于是Arc的GPU核显,直接启动会报如下错误:

需要进行一些前置处理后再启动:

(OpenVionSD) D:\OpenVionSD>set COMMANDLINE_ARGS=--skip-torch-cuda-test --precision full --no-half

(OpenVionSD) D:\OpenVionSD>set PYTORCH_TRACING_MODE=TORCHFX

(OpenVionSD) D:\OpenVionSD>set USE_OPENVINO=1

(OpenVionSD) D:\OpenVionSD>Python launch.py

3)No module named ‘torch torchvision torchaudio’错误

检查版本:

(OpenVionSD) D:\OpenVionSD>pip show torchvision

发现安装的版本是torchvision 0.19.0,这个版本是不行的,更换安装这个版本:

(OpenVionSD) D:\OpenVionSD>pip install torchvision==0.16.0

再次尝试启动:

(OpenVionSD) D:\OpenVionSD>Python launch.py

可以看到下面的截图,这次没有报任何异常,并且下载了一个3.97G的模型

看到下面这个界面,说明你已经安装成功了!!!

上面之所以报错的原因是我们没有关闭魔法,我们尝试完成一次完整的启动。

完整的启动过程(关闭魔法)

1、以管理员方式打开Ancconda Prompt命令行窗口

2、激活OpenVionSD虚拟环境

(base) C:\Windows\System32>conda activate OpenVionSD

3、启动stable-diffusion-webui

(base) C:\Windows\System32>conda activate OpenVionSD

(OpenVionSD) C:\Windows\System32>cd D:\OpenVionSD

(OpenVionSD) C:\Windows\System32>D:

(OpenVionSD) D:\OpenVionSD>set COMMANDLINE_ARGS=--skip-torch-cuda-test --precision full --no-half --no-gradio-queue

(OpenVionSD) D:\OpenVionSD>set PYTORCH_TRACING_MODE=TORCHFX

(OpenVionSD) D:\OpenVionSD>set USE_OPENVINO=1

(OpenVionSD) D:\OpenVionSD>Python launch.py

4、启动参数详解

--skip-torch-cuda-test           关闭CUDA检测,这个是RTX显卡独有的

--precision full 和--no-half     强制双精度浮点运算(据说在N卡上可以减少绿屏bug出现的几率,A卡上不知道有啥用)

--medvram 和—lowvram       降低显存占用量,根据自己情况选择

--no-gradio-queue                魔法状态下启动不报错

5、命令行窗口一键复制启动(后面可以写入批处理文件)

conda activate OpenVionSD

cd D:\OpenVionSD

D:

set COMMANDLINE_ARGS=--skip-torch-cuda-test --precision full --no-half --no-gradio-queue

set PYTORCH_TRACING_MODE=TORCHFX

set USE_OPENVINO=1

Python launch.py

6、生成一个bat启动文件(启动时需要右键以管理员身份运行)

StartCondaEnvsOpenVionSD.bat

内容如下(注意根据自己安装位置修改启动路径跟虚拟环境名称):

@echo off

:: 开始获取管理员权限

setlocal

set uac=~uac_permission_tmp_%random%

md "%SystemRoot%\system32\%uac%" 2>nul

if %errorlevel%==0 ( rd "%SystemRoot%\system32\%uac%" >nul 2>nul ) else (

   echo set uac = CreateObject^("Shell.Application"^)>"%temp%\%uac%.vbs"

   echo uac.ShellExecute "%~s0","","","runas",1 >>"%temp%\%uac%.vbs"

   echo WScript.Quit >>"%temp%\%uac%.vbs"

   "%temp%\%uac%.vbs" /f

   del /f /q "%temp%\%uac%.vbs" & exit )

endlocal

:: 完成获取,下面可以开始写你自己的代码了

 @echo off

call "D:\anaconda3\Scripts\activate.bat"

call conda activate OpenVionSD

D:

cd D:\OpenVionSD

set COMMANDLINE_ARGS=--skip-torch-cuda-test --precision full --no-half --no-gradio-queue

set PYTORCH_TRACING_MODE=TORCHFX

set USE_OPENVINO=1

Python launch.py

通过以上批处理文件可以直接启动咯~