赛博丹炉训练问题RuntimeError: Error(s) in loading state_dict for UNet2DConditionModel:Missing key(s)...

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

@[TOC](赛博丹炉训练lora出现RuntimeError: Error(s) in loading state_dict for UNet2DConditionModel:Missing key(s) in state_dict:)

前言


新手小白在CSDN上的第一篇记录,还望大家多多鼓励。今天在使用赛博丹炉训练lora时,开始训练出现报错提醒:RuntimeError: Error(s) in loading state_dict for UNet2DConditionModel:Missing key(s) in state_dict:,记录一下解决过程与结果。


提示:以下是本篇文章正文内容,下面案例可供参考

报错提示误区

一开始以为最后这里的报错是问题来源,然后最后说一个“returned non-zero exit status 1”,后来发现这只是一个报错说明,并不是真正的问题所在,真正的报错原因往上翻了好久找到了,就是标题中的“RuntimeError: Error(s) in loading state_dict for UNet2DConditionModel:Missing key(s) in state_dict:”。
在这里插入图片描述

解决过程

chatgpt提示我此错误显示在加载UNet2DConditionModel的状态字典(state_dict)时缺失了一些关键。具体缺失的键包括有关注意力(attention)和归一化(normalization)层的权重和偏置。这通常发生在以下几种情况:
有可能尝试加载的权重与模型的定义不匹配。
有可能权重文件损坏或不完整,并未完整保存所有必需的参数。

在这里插入图片描述
所以问题就在于加载的模型它匹配不了,至于为什么匹配不了我确实不知道…所以我们换个模型尝试一下,从原本的SDXL:sd_xl_base_1.0.safetensors,换到了SD1.5:v1-5-pruned.ckpt,然后就模型匹配正常了。


之后又出现了网络配置的问题,这个问题很好解决,科学上网就好啦。
在这里插入图片描述

结果

Anyway,它成功开始训练了。附一张训练过程的截图。
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值