在 SD Webui 和 SDWebui Forge 使用时,有时会遇到以下错误
RuntimeError: The shape of the 2D attn_mask is torch.Size([77, 77]), but should be (1, 1).
该常见于使用SDXL或其他基于SDXL的模型时,问题原因是xl模型依赖的python库发生了兼容性问题。
解决方法
-
检查python库的版本
-
打开 控制面板,进入SD Webui程序,点击 容器 上的 终端 按钮进入命令提示行
-
输入以下命令,重点查看open-clip-torch的版本,如果高于2.24.0,需要降版本到2.24.0
pip list | grep torch
-
-
修改SD的Yaml,在启动时强制修改open-clip-torch的版本。
-
关闭 终端,回到上一级 部署 页面,点击右上角的扩展按钮,选择 编辑YAML
-
在输入框中搜索
pip config
,定位到启动命令,在/stable-diffusion-webui;
后面添加pip install open-clip-torch===2.24.0;
命令(如下图所示)
-
点击确定,等待容器重启。
-
容器重启后可以再次进入终端,执行
pip list | grep torch
查看open-clip-torch的版本是否已正确降到2.24.0。
-
-
打开 SD Webui 或 SDWebui Forge,再次执行应该就不会遇到这个错误啦