Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

AI图像3周前更新 管理员
9,070 0

什么是控制台输出错误?

a 什么是控制台?

点击一键启动后,弹出的黑底白字窗口,就是控制台,它在任务栏的标题就是控制台,而且窗口标题也有控制台三个字。

b 怎样判断控制台是否输出错误?

仔细查看控制台内容,特别是最后的几行字,如果包含以下内容,则认为是控制台输出了错误:提示:python 运行时抛出了一个异常。请检查疑难解答页面。

例如:

远程主机强迫关闭了一个现有的连接

ReadTimeout: HTTPSConnectionPool(host=……

LocalProtocolError: ……

等等,以上只是列举了最常见的几种,但一般来说,只要输出的内容中出现“Fail”,“Failed”,”ERROR”,”失败”等,基本上都可以认为是控制台输出了错误。

1.程序崩溃,退出代码为 -1073741819 (0xC0000005)

错误提示关键字:

[程序崩溃,退出代码为 -1073741819 (0xC0000005)]

【注意,该错误代码区别于其他退出代码,是一个严重错误,具体看下面】

sd-webui-prompt-all-in-one background API service started successfullyoading weights[8b379c4a8b] 
from E:\sd-webui-aki\models\Stable-diffus
程序崩溃,退出代码为 -1073741819(0xC0000805以下是对退出代码的分析。
这可能不准确,请酌情参考!
系统退出代码名称:ACCESSVIOLATION
系统退出代码描述:0x%p 指令引用了0x%p内存。该内存不能为s。
请注意,通常退出代码与其描述都不足以诊断问题!是上传完整日志而非只有退出代码。

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

 

该错误可能的原因:

1 很可能是下错了对应的整合包。

2 如果排除上一个原因,或者原本正常使用一段时间的电脑,也没有修改任何东西,忽然出现了这个提示,那么也有可能是文件损坏(指整合包之外的,系统文件损坏)。

3 还有一种可能是插件报错导致的,但这种一般会在退出代码上一行,输出具体的错误信息,根据那个信息去确定具体问题。

解决方案:

A 检查你的整合包名称,如果含有“aki-dirtectml-”这个是面向A卡用户的整合包,nividia显卡用户要下载另外一个,不是这个。

B 重启电脑看是否解决。【有群友使用此方法解决了】

C 如果以上都没有彻底解决,该问题还是时不时出现,建议重装系统或更换电脑硬件。

2.AttributeError: ‘NoneType’ object has no attribute ‘encode’

错误提示关键字:

NoneType' object has no attribute 'encode
提示:Python 运行时抛出了一个异常。请检直疑难解答页面。

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

 

该错误可能的原因:

controlnet 版本过低。

解决方案:

启动器-版本管理-扩展,刷新列表后,把controlnet升级到最新

3.AttributeError: ‘dict’ object has no attribute ‘to’

错误提示关键字:

AttributeError: 'dict' object has no attribute 'to'

最后一个引号内可能是其他单词。

该错误可能的原因:

插件冲突。

解决方案:

启动器清理插件

4.AttributeError: partially initialized module ‘modules.sysinfo’ has no attribute ‘format_exception’

错误提示关键字:

AttributeError: partially initialized module 'modules.sysinfo' has no attribute 'format_exception'

该错误可能的原因:

插件冲突。

解决方案:

启动器清理插件

首先可以尝试关闭 tagger 这个插件,重启控制台看是否恢复正常。

5.CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.

错误提示关键字:

RuntimeError: CUDA error: the launch timed out and was terminated CUDA kernel errors might be asynchronously reported at some other API call,
so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1.

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

该错误可能的原因:

1 显卡驱动方面的原因,或者显存不足。

2 插件导致的错误,最近几天集中出现在 animatediff 这个插件导致。

解决方案:

A 如果不是点名插件导致的,可以尝试更新显卡驱动到最新版本后重新尝试,到nividia官网更新,不要使用第三方驱动软件。

B 如果是插件animatediff导致的错误,按照以下步骤尝试:

启动器-高级选项-cross-Attention优化方案中,选择 “使用缩放点积(SDP)方案”

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

(该解决方案来自频友 Gluttony喵,感谢!)

6.Can’t send data when our state is ERROR

错误提示关键字:

Can't send data when our state is ERROR

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

该错误可能的原因:

1 代理引起的网络异常。

2 后台服务崩溃。

解决方案:

A 关闭代理后重试。

B 重启控制台。

 7.ConnectionResetError: [WinError 10054]远程主机强迫关闭了一个现有的连接

错误提示关键字:

ConnectionResetError: [WinError 10054]远程主机强迫关闭了一个现有的连接

该错误可能的原因:

网络原因。

解决方案:

查看本站的【启动器配置科学上网】文章

 8.Error! in sd webui 1.5, composable-lora not support with sd-webui-lycoris extension.

错误提示关键字:
Error! in sd webui 1.5, composable-lora not support with sd-webui-lycoris extension.

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

该错误可能的原因:

ly插件与版本不符。

解决方案:

A 删掉lycoris插件。

9.FileNotFoundError: [Errno 2] No such file or directory

错误提示关键字:

FileNotFoundError: [Errno 2] No such file or directory:

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

该错误可能的原因:

文件缺失或损坏。

解决方案:

整合包文件损坏,建议重下最新整合包。

也可以尝试从备份或其他人电脑中拷贝缺少的文件,放到指定目录看是否解决。如不能解决还是建议重新下载最新整合包使用。

秋叶最新整合包合集:https://jc.aixkd.com/990.html

10.ImportError: Cannot import name ‘builder’ from ‘google.protobuf.internal’

错误提示关键字:

ImportError: Cannot import name 'builder' from 'google.protobuf.internal'

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

该错误可能的原因:
这个问题部分出现在 adetailer 这个插件上,在部分电脑运行一段之后,使用这个插件会莫名其妙出现这个错误。

解决方案:
A 彻底停用并卸载该插件(adetailer),反复检查确认删除干净后,重启控制台,确保没有插件运行正常,再重新尝试安装该插件。

11.ImportError: cannot import name ‘Undefined’ from ‘pydantic.fields’

错误提示关键字:

ImportError: cannot import name 'Undefined' from 'pydantic.fields'

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

该错误可能的原因:

多数情况下都是由插件互相冲突导致的。

解决方案:

清理插件,参考:https://jc.aixkd.com/3506.html

12.ImportError: cannot import name ‘auto’ from’tqdm’

错误提示关键字:

ImportError: cannot import name 'auto' from'tqdm'

该错误可能的原因:

可能是安装了一些落后的插件,导致插件冲突。

下列插件年久失修,有很多BUG,又或是很久没有更新早已无法使用,建议卸载:

Dreambootha1111-sd-webui-locon、 Deforum、Temporalkit、 Kohya-ss AdditionalNetworks、a1111-sd-webui-lycoris

解决方案:

A 尝试切换到1.4.1再切换回当前版本看是否解决。

B 尝试重启控制台看是否解决。

C 下列插件年久失修,有很多BUG,又或是很久没有更新早已无法使用,建议卸载,不要安装:

Dreambootha1111-sd-webui-locon、 Deforum、Temporalkit、 Kohya-ss AdditionalNetworks、a1111-sd-webui-lycoris、mov2mov。

D 参考本章【如何清理插件

 13.IndexError: List index out of range

错误提示关键字:

IndexError: List index out of range

【特殊说明】

该错误成因复杂,以下仅供参考,如何解决的都有,也有全部试过一遍依旧没有解决的。

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

该错误可能的原因:
有多种可能。
第一种可能是插件冲突。
第二种,提示词有错误的语法,特别是关于 : 的用法,仔细检查。另外,如果是复制来的提示词,特别需要注意是否复制了一些肉眼难见的特殊字符。
第三种,如果是出现在后期处理的批量处理图片时,可能是作为源图片本身带有冗余信息,不适合使用SD。

解决方案:
A 清理插件,参考该方案进行清理:https://jc.aixkd.com/3506.html
B 仔细检查提示词,特别跟 : 相关的提示词,以及提示词中是否在复制时多出了一些肉眼难见的特殊符号。
注意,因为批量处理与单张处理程序存在区别,所以单张执行正常的提示词未必就代表批量处理不出错,建议先通过减少冒号使用,观察问题是否解决,快速锁定问题提示词位置。
C 如果是后期处理中批量处理,更换图片源尝试是否继续出现。
D 有用户反馈,勾选或关闭controlNet插件的低显存模式可以解决。

14.ModuleNotFondError: no module named ‘_socket’

错误提示关键字:

ModuleNotFondError: no module named '_socket'

(后面的内容可能是任何下划线开头的单词,但大多数时候都是 _socket,不是下划线开头的单词属于其他错误,不在此列)

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

该错误可能的原因:

使用了旧的整合包+一些插件之后导致的问题。

解决方案:

A 下载新的整合包

秋叶最新整合包合集:https://jc.aixkd.com/990.html

15.ModuleNotFoundError: No module named ‘tqdm.auto’

错误提示关键字:

ModuleNotFoundError: No module named 'tqdm.auto'

该错误可能的原因:

tqdm文件异常。

解决方案:

A 尝试切换或升级主体版本,比如从1.6切换到1.5,再切换回1.6,看是否修复。无效就重新下载最新整合包。

B 【高级操作,萌新勿用】

在高级选项点启动命令提示符,输入下面的指令重新安装tqdm

python -m install –force-reinstall tqdmpython -m pip install –force-reinstall tqdm

 16.NansException: Atensor with al NaNs was produced inThiscouldbe eitherbecause there’s not enough precisionUnetrepresent the picture. or becausevour video card does not supporthalf type.

错误提示关键字:

NansException: Atensor with al NaNs was produced inThiscouldbe eitherbecause there's not enough precisionUnetrepresent the picture. 
or becausevour video card does not supporthalf type. Try setting the"Upcast cross attention Laver toloat32" option in Settings > 
Stable Diffusion or using the--no-halfcommandline to fix this. Use--disable-nan-check commandline argument to disable this check.

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

 

该错误可能的原因:

这个报错很多人第一时间给出建议是按照提示,加一个关闭半精度的参数或者设置关闭半精度。

但是这样处理之后,虽然不报错了,但只能出黑图。

根本原因其实是使用的大模型要求与你的显卡不符。(该说法存疑)

【扩展信息】

有人指出,这是经典的黑图问题,分为两类,unet黑图或者vae黑图,报错不同,用启动器自带的疑难解答就可以扫出来。

问题的根源是提示词\unet\vae\分辨率\种子这个序列刚好匹配上了一个无法表示的图,unet或者vae宕机,就出了黑图。

解决方案:

A 切换其他大模型。

B 升级更好的显卡。(存疑)

C 更改提示词\unet\vae\分辨率(宽高)\种子(seed)。

17.RuntimeError: Cannot add middleware after an application has started

错误提示关键字:

RuntimeError: Cannot add middleware after an application has started

该错误可能的原因:

版本过低

解决方案:

下载最新整合包使用。

18.RuntimeError: Couldn’t determine Stable Diffusion X’s hash

错误提示关键字:

RuntimeError: Couldn't determine Stable Diffusion X's hash

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

该错误可能的原因:
网络原因。

解决方案:
A 需要使用科学上网,但如果你不知道什么是科学上网,那就是无解。即便你有科学上网,但需要的是全局科学上网,你不够全局也无法解决。
B 可以尝试换个时间再试试看。或者查看启动器配置科学上网文章https://jc.aixkd.com/3511.html

19.RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0!

错误提示关键字:

RuntimeError: Expected all tensors to be on the same device, but found at least two devices,
cpu and cuda:0! (when checking argument for argument index in method wrapper__index_select)
Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

该错误可能的原因:

如果之前一直正常使用,忽然某天出现这个错误,大部分时候是因为你丢了一个不怎么靠谱的VAE进去,或者是忽然调用到了你这个不怎么靠谱的VAE。

如果你安装了animatediff,也可能是这个原因。

如果你安装或者尝试安装了TensorRT这个插件,那就是这个原因。

该插件并不会带来显著速度提升,而且会导致很多基础功能异常。

你视频中看到的别人可以使用且似乎效率提升,是因为这是一个上古插件,同属于旧时代的眼泪之一,新时代已经没有能承载它的船,对于如今的SD版本并不有效。

解决方案:

A 回忆你的操作,找到你最后放进去的VAE或者模型,删除之后重启控制台,基本都能解决。

B 重启控制台看是否可以自动解决。

C 切换其他大模型看是否可以解决。

D 如果你安装或者尝试安装了TensorRT或者animatediff这两个插件,那么首先卸载看这个插件是否恢复正常,不行的话重新下载或解压全新整合包使用。极端情况下,安装这些插件的某些步骤可能会更改系统变量,你很可能需要修复系统环境后才能正常使用整合包。

20.RuntimeError: The size of tensor a (96) must match the size of tensor b(250) at non-sinaleton dimension 3

错误提示关键字:

RuntimeError: The size of tensor a (96) must match the size of tensor b(250) at non-sinaleton dimension 3

括号内的数字可能是其他数字。

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

该错误可能的原因:

这个报错在SD主体版本升级到1.6之后似乎出现率提高了。怀疑很大可能是Tiled Diffusion插件没有及时跟上主体最新版本导致的。

以下是可能的原因。

1 模型/lora与插件设置不匹配。

2 Tiled Diffusion 插件的重绘尺寸宽度/高度不匹配。

3 检查代码可以发现,是tiled diffusion的放大算法会错误的对controlnet的输入进行超分,导致tile预处理模型的降采用失效(来自频友【卿玖Kaori是小透明】)。

解决方案:

A 尝试更换模型或去掉lora。

B 尝试修改Tiled Diffusion 的重绘宽度/高度,不断调整看是否解决(建议双双满足16的倍数)。

C 放弃使用tiled Diffusion插件。

D ControlNet插件退回8.31日 c3b32f2版本可解决【该解决方案来自频友【卿玖Kaori是小透明】】。

E 将controlNet插件升级到最新版(9月10日以后版本)即可解决

21.RuntimeError: Torch is not able to use GPU

错误提示关键字:

RuntimeError: Torch is not able to use GPU; add--skip-torch-cuda-test to COMMANDLINEARGS variable to disable this check

该错误可能的原因:
1 无显卡;
2 非NVIDIA系列显卡;
3 显卡驱动陈旧;
4 cuda版本异常。
打开任务管理器(ctrl+alt+del),点击【性能】,点击【GPU】,即可查看到你的显卡型号和显存。

解决方案:
A 无显卡的话,购买显卡安装,或者使用CPU启动,方式是在启动器的高级设置里调整。
B A卡更换显卡,或使用CPU,或去寻找对应的A卡包,但秋叶整合包不面向A卡,除非使用CPU直跑。
C N卡用户出现这个错误,去NVIDIA官网升级显卡驱动到最新,不要使用第三方驱动软件,包括驱动人生,驱动精灵,驱动大师等等。
D 如果你自行安装过cuda,可能是因为cuda的版本与整合包使用的版本不符。如果没有操作过或不知道这是什么,那就不是这个原因。

22.RuntimeError: [enforce fail at …..] data. DefaultCPUAllocator: not enough memory

错误提示关键字:

RuntimeError: [enforce fail at .....] data. DefaultCPUAllocator: not enough memory: you tried to allocate 3186376704 bytes.

该错误可能的原因:

内存不足。

【查看内存方式:任务管理器 – 性能 – 内存】

【查看显存方式:任务管理器 – 性能 – GPU – 专用GPU内存】

解决方案:

A 你的电脑性能有限,减小要生成的图片尺寸,模型选择2G的小模型。

B 升级内存。

23.RuntimeError: dictionary changed size during iteration

错误提示关键字:

RuntimeError: dictionary changed size during iteration

该错误可能的原因:

猜测是因为在程序外修改了文件或者目录结构,或者是系统版本切换之后容易出现。

这不是大问题,只是一个偶发报错,重启控制台就可以解决了。

解决方案:

A 重启控制台。

24.RuntimeError: mat1 and mat2 shapes cannot be multiplied

错误提示关键字:

RuntimeError: mat1 and mat2 shapes cannot be multiplied (154x1024 and 768x320)

后面括号内可能是其他数字。

控制台输出:

该错误可能的原因:

使用了错误的controlnet组合,比如使用了XL的大模型,但并没有使用XL的controlnet模型。

解决方案:

A 更换非XL模型和lora,以及其他不适合与controlnet搭配的插件和参数;或者更换支持XL的controlnet模型和预处理器。

25.stderr: fatal: ambiguous argument ‘HEAD’: unknown revision or path not in the working tree.

错误提示关键字:

stderr: fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.

控制台输出:

Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

该错误可能的原因:
repositories 仓库目录文件异常。
其实也跟网络有关,简单理解就是网络波动导致文件损坏。

解决方案:
A 清空 repositories 目录内容后重新运行(清空:删除该目录下的所有文件,但保留该空目录)。

26.TypeError: ‘NoneType’ object is not subscriptable

错误提示关键字:

TypeError: 'NoneType' object is not subscriptable

该错误可能的原因:

面部修复的BUG。

解决方案:

A 可能与面部修复有关,不要使用SD自带的面部修复功能。

27.TypeError: ‘Image’ object is not subscriptable

错误提示关键字:

TypeError: 'Image' object is not subscriptable

该错误可能的原因:

插件冲突。

解决方案:

清理插件

28.TypeError: expected string or bytes-like object

错误提示关键字:

TypeError: expected string or bytes-like object

该错误可能的原因:

环境混乱引起的异常。

如果你之前单独装过python,可能是因为混乱的环境变量导致的。

秋叶包自带了完整环境,不需要额外的python或者其他什么,环境变量反而会干扰运行。解决方案:

A 卸载之前安装的python,完全卸载,重点是环境变量什么的要清理干净。重启电脑后应该可以解决。

29.TypeError: unhashable type ‘slice’

错误提示关键字:

TypeError: unhashable type 'slice'

该错误可能的原因:

这是SDXL+controlNet版本不符时经常出现的问题。

解决方案:

A 新人不要使用SDXL。

B 更换非XL模型和lora,以及其他不适合与controlnet搭配的插件和参数;或者更换支持XL的controlnet模型和预处理器。

30.urllib.error.URLError: <urlopen error [ SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1007)>

错误提示关键字:

urllib.error.URLError:

该错误可能的原因:

网络原因。

解决方案:

A 需要配置代理。查看本文档的【如何配置启动器走魔法】https://jc.aixkd.com/3511.html

31.runtimeError: Couldn’t determine Stable Diffusion’s hash

错误提示关键字:

runtimeError: Couldn't determine Stable Diffusion's hash:

该错误可能的原因:

网络原因。

解决方案:

A 需要配置代理。查看本文档的【如何配置启动器走魔法】

32.ValueError: could not convert string to float

错误提示关键字:

ValueError: could not convert string to float: '……'
Stable Diffusion代码报错大全及解决方案|秋叶整合包版本

该错误可能的原因:
输入了中文标点符号。
在SD中,所有输入都必须是英文字符和符号,中文的逗号是会报错的。

解决方案:
A 把中文符号改成英文。

33.UnboundLocalError: local variable ‘h’ referenced before assignment

错误提示关键字:

UnboundLocalError: local variable 'h' referenced before assignment

该错误可能的原因:

你选择的采样方式不适合这个版本。

解决方案:

A 更换一个采样方式。

(方案来自 DukeG,感谢)

本文转载于叶小猴https://docs.qq.com/doc/DU3ZudG1UZ1hiU01K(更新到2023.12.27)

© 版权声明

相关文章