当前位置: 首页 > 培训推荐 > >正文

StableDiffusion 不支持半精度not support half type 报错的解决办法-每日热议

来源:哔哩哔哩    时间:2023-07-04 01:35:04

A tensor with all NaNs was produced in Unet. This could be either because there's not enough precision to represent the picture, or because your video card does not support half type. Try setting the "Upcast cross attention layer to float32" option in Settings > Stable Diffusion or using the --no-half commandline argument to fix this. Use --disable-nan-check commandline argument to disable this check.

译:在Unet中生成了一个包含所有NaN的张量。这可能是因为没有足够的精度来表示图片,或者是因为您的视频卡不支持半类型。尝试在“设置”>“稳定扩散”中设置“向上投射交叉注意力层到float32”选项,或者使用--no-half命令行参数来解决此问题。使用--disable nan-check命令行参数可以禁用此检查。

以上是控制台报错信息。首先尝试信息中提供的两种办法(如果你只在使用AfterDetailer插件时才出现此报错,先去尝试文章最后的办法):


【资料图】

Try setting the "Upcast cross attention layer to float32" option in Settings > Stable Diffusion

可在WebUI的设置里Stable Diffusion栏最下方勾选开启。*需注意开启该选项有几率在出图的最后阶段报type不一致的错误,"type32 type32 type16"字样的,若要解决此报错又需要你反过来关闭Upcast cross attention layer to float32选项。

使用 --no-half 命令行参数

编辑,在 set COMMANDLINE_ARGS= 后面加上--no-half如果你使用的是秋叶启动器,可以在 高级选项/计算精度设置 项内关闭模型半精度优化(会降低性能),和手动编辑bat或者在该页最下面“自定义参数”中添加命令是一样的。

报错最后提到的“使用--disable nan-check命令行参数可以禁用此检查”也可以通过上面的过程设置,其相当于忽略该报错强行出图而不是解决问题,你可能会得到噪声图或黑图。

其他办法——更换xFormers版本

已知改xformers版本可以解决某些人的报错。秋叶启动器高级选项/环境维护/配置PyTorch下可以选择安装xFormers的版本,尝试和

或者在命令行中加入"--reinstall-xformers" 以安装最新版xFormers(目前是,安装需联网下载),添加命令的方法参照上面第2条的操作。

针对只在使用AfterDetailer插件时报错—— 切换至稳定版本的WebUI:

表现可能是单批次出一张图不会报错,出两张图以上就会报错或出坏图,只有第一张图正常。

如果你只在使用AfterDetailer插件时才出现此报错,这是新版WebUI和ADetailer的兼容问题,应该是最近才出现的,需要回退到一个稳定可行的分支。可以在秋叶启动器的版本管理中切换版本

或者在主目录右键打开PowerShell,输入git checkout "hash"。

我回退的版本hash为 <f7ae0e68c9c91cd95e28552ef930299286026cd7>,那么就输入:git checkout f7ae0e68c9c91cd95e28552ef930299286026cd7 之后稍等片刻等待切换完毕。

可以通过 git rev-parse HEAD 检查本机目前版本。

X 关闭

推荐内容

最近更新

Copyright ©  2015-2022 热讯培训网版权所有  备案号:豫ICP备20005723号-6   联系邮箱:29 59 11 57 8@qq.com