Mac本地部署Stable-diffusion故障排除和常见问题
前言
文章汇集了在Mac本地部署Stable-diffusion中遇到的常见问题的解决方式,包括官方文档、本人的一些经验和关联教程文章发布后大家在评论区和私信的反馈,目的是帮助帮助更多的人取得成功,包括第一次尝试安装此类软件的人,也欢迎在评论区继续补充修正、各位互帮互助。
安装出现报错,记得使用万能重启大法,可以切换梯子、重新执行指令多尝试几次,每次都是从上次失败的地方继续下载,不需要担心它会从头开始。
评论须知:
①你已经尝试过多次重新运行还是同样的报错问题
②你仔细阅读过本文档并确定没有解决方案
③你在评论区中没有找到同样问题的解决方方案
请满足条件后再评论,避免浪费大家时间
温馨提示:可以在浏览器中使用 command+F 快捷键进行关键词检索。
故障排除
命令行参数和设置查看官方文档
故障排除可以从运行这些命令行诊断开始:
brew --version
python3 --version
cmake --version
git --version
conda --version
which conda
# 这可能需要一段时间,因为它要搜索整个系统找到
/ -regex '.*/bin/conda' -type f -perm +111 -print
# 如果您有多个conda,这可能会显示意想不到的结果
CONDA_SUBDIR=osx-arm64 conda env create -f environment-mac.yaml
conda activate ldm
python3 scripts/dream.py --full_precision
Web UI 无法启动:
如果您在尝试使用 启动 Web UI 时遇到错误,请尝试从文件夹中./webui.sh
删除repositories
和文件夹,然后使用 更新 Web UI,然后再次运行。venvstable-diffusion-webuigit pull./webui.sh
表现不佳:
目前 macOS 上的 GPU 加速会占用大量内存。如果性能较差(如果使用任何采样器生成 20 个步骤的 512x512 图像需要超过一分钟)
--opt-split-attention-v1
尝试从命令行选项(即)开始./webui.sh --opt-split-attention-v1
,看看是否有帮助。- 没有太大区别吗?
- 打开位于 /Applications/Utilities 中的“活动监视器”应用程序,然后检查“内存”选项卡下的内存压力图。生成图像时内存压力显示为红色
- 关闭 Web UI 进程,然后添加
--medvram
命令行选项(即./webui.sh --opt-split-attention-v1 --medvram
)。 - 使用该选项时性能仍然很差并且内存压力仍然红色?
- 尝试
--lowvram
(即./webui.sh --opt-split-attention-v1 --lowvram
)。 - 使用任何采样器仍需要几分钟以上的时间才能通过 20 个步骤生成 512x512 图像?
- 您可能需要关闭 GPU 加速。
webui-user.sh
在 Xcode 中打开- 更改
#export COMMANDLINE_ARGS=""
为export COMMANDLINE_ARGS="--skip-torch-cuda-test --no-half --use-cpu all"
.
常见问题
⬇️我的配置
MacBook Pro | 2021款 |
---|---|
芯片 | Apple M1 Pro |
内存 | 16GB |
储存 | 512GB |
CPU | 8 |
GPU | 14 |
macOS | Ventura 13.4.1 (c) |
intel芯片用户可以参考这篇文章:
如何在无 GPU 的 macOS 上运行 Stable Diffusion
homebrew报错,Error: Command failed with exit 128: git
①执行brew -v命令看看是不是有两个提示:大概就是要你手动添加homebrew-core和homebrew-cask目录
brew -v
②分别执行这两个指令手动添加,绿色框选的(directory后面)就是路径地址,可以直接复制替换到代码块中的指令。
git config --global --add safe.directory 你的homebrew-core路径
git config --global --add safe.directory 你的homebrew-cask路径
执行命令后如果还不行可以尝试重新安装homebrew。
pip安装环境报错:This error originates from a subprocess, and is likely not a problem with pip
这个就是单纯的网络问题,检查网络代理然后重新执行“./webui.sh”。
或者参考:Mac OS 下 Python3 pip 配置国内源
遇到如这个格式的报错:AttributeError: 'NoneType' object has no attribute 'xxxx'
这个就是单纯的网络问题,检查网络代理然后重新执行“./webui.sh”。
Stable diffusion model failed to load upon startup
往上面看有这句:“The file may be malicious, so the program is not going to read it.(该文件可能是恶意的,因此程序不会读取它。)”
这个就是模型错误,检查model有没有放错文件夹或者修改了模型名称(不能带中文和空格),找到报错的模型删除或修改。
RuntimeError:Cannot add middleware after an application has started
如果用我分享的文件里面就已经默认改好了。(这个问题随着版本更迭似乎已经解决)
解决办法:open .打开SD所在文件夹,在stable-diffusion-webui文件夹中的requirements_versions.txt 文件中添加“fastapi==0.90.1”。
Installing gfpgan时卡住:
如果你的代理工具有显示实时网络速率功能或者使用第三方监测网速工具就会看到其实是有在下载的,只是下载过程不展示进度,耐心等待就行
致命错误:无法访问 'https://github.com/TencentARC/GFPGAN.git/':
就是网络问题,建议检查网络代理后刷新重试
或者打开浏览器访问Github:https://github.com/TencentARC/GFPGAN,单独下载GFPGAN插件,名称修改为小写,然后拖拽到stable-diffusion-webui/venv/lib/python3.10/site-packages/(gfpgan)文件夹中即可
也可以手动安装gfpgan,输入指令:
pip3 install gfpgan
python闪退、意外退出
添加性能优化描述:仅使用CPU生成
打开并编辑webui-user.sh,找到COMMANDLINE_ARGS这一行,解除注释,并编辑为这样:COMMANDLINE_ARGS="--skip-torch-cuda-test --no-half --use-cpu all"
"LayerNormKernelImpl" not implemented for 'Half'
在启动项目的时候,后面加上这些指令./webui.sh --precision full --no-half --no-half-vae --disable-nan-check
Stable diffusion model failed to load, exiting
这个就是模型错误,检查model有没有放错文件夹或者修改了模型名称(不能带中文和空格),因此程序不会正常运行。
Torch 无法使用 GPU
这是最常提到的问题之一,但这通常不是 WebUI 故障,原因有很多。
- WebUI默认使用GPU,因此如果没有合适的硬件,则需要使用CPU运行。
- 请确保您正确配置了WebUI,请参阅关联文章中相应的安装教程。
- 如果您在某些组件更新后遇到此问题,请尝试撤消最近的操作。
如果您是上述情况之一,则应该删除该venv
文件夹。
如果仍然无法解决问题,则需要在举报时提交一些额外的信息。
- 打开下面的控制台
venv\Scripts
- 运行
python -m torch.utils.collect_env
- 复制控制台的所有输出并发布
在 vae 中生成了包含所有 NaN 的张量
这与上面的问题是同一个问题,要验证,请使用--disable-nan-check
. 启用此功能后,如果其中一张图像失败,则显示其余图像。
它要么是模型原因要么与GPU相关。
结语:
其实大部分都是因为网络问题导致的报错,安装出现报错,记得使用万能重启大法,可以切换梯子、重新执行指令多尝试几次,每次都是从上次失败的地方继续下载,不需要担心它会从头开始。
文章只能提供大概率下会遇到的报错,没有回答到的问题还请移步官方:Issues · AUTOMATIC1111/stable-diffusion-webui,或者善用Google大法,祝福各位~
评论须知:
①你已经尝试过多次重新运行还是同样的报错问题
②你仔细阅读过本文档并确定没有解决方案
③你在评论区中没有找到同样问题的解决方方案
请满足条件后再评论,避免浪费大家时间
参考资料:
https://www.reddit.com/r/StableDiffusion/comments/y0tiq7/help_with_error/
[Bug]: fastapi 0.91 app.add_middleware · Issue #7714 · AUTOMATIC1111/stable-diffusion-webui
https://www.reddit.com/r/StableDiffusion/comments/10yums7/where_did_i_mess_up_any_ideas/