
从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一直安装不了的一系列问题。
(OpenVionSD) D:\anaconda3\envs>cd D:\OpenVionSD
安装指定版本号的依赖:
(OpenVionSD) D:\OpenVionSD>pip install -r requirements_versions.txt
不建议的方法,安装不指定版本号的依赖(安装过程中所有依赖基本会安装最新版本,有可能反而用不了):
(OpenVionSD) D:\OpenVionSD>pip install -r requirements.txt

以下是我碰到的各种异常,如果你一切顺利可以忽略,碰到了就在这里在找找,有什么新的问题,评论区留言~
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克隆一份到指定目录下,再进行后续操作:

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
通过以上批处理文件可以直接启动咯~