码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 解决Error(s) in loading state_dict for *** :


    完整报错信息是:
    Missing key(s) in state_dict:Unexpected key(s) in state_dict:
    如下图所示:
    在这里插入图片描述
    可以利用debug来解决。使用ide(这里是vscode)的debug功能,查看一下newckpt中的内容,如下。
    在这里插入图片描述
    可以看出内容和报错信息极其相似,然而字典中每个键前面都多了一个"module"。如下对比。
    在这里插入图片描述
    因此,抓住本质,只需要修改一些checkpoint中键的名字就好了。
    代码片段如下:

    ckpt = checkpoint["model"]
    newckpt = {}
    for k,v in ckpt.items():
        k = (".").join(k.split(".")[1:])
        newckpt[k] = v
    
    model.load_state_dict(newckpt)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    这段代码就完成了字典中键的批量修改。

    希望读者可以举一反三,通过debug,依据自己的报错信息来进行对应的修改。


    这里有两篇相关的文章。

    加载模型报错Missing key(s) in state_dict:
    该篇提出使用

    self.bert.load_state_dict(ckpt[“bert-base”], False)
    
    • 1

    也就是加了个False。(strict=)True的话就要求训练权重层数的键值与新构建的模型的权重层数名称完全符合,(strict=)False就没有这个要求了。
    这样可能会影响模型预测的效果。

    Missing key(s) in state_dict
    在这里插入图片描述
    这篇与我类似,但他是少了个"module",所以要补上。

  • 相关阅读:
    【错误解决方案】ModuleNotFoundError: No module named ‘torch._six‘
    Windows:VS Code IDE安装ESP-IDF【保姆级】
    Springboot流浪动物救助管理系统y7274计算机毕业设计-课程设计-期末作业-毕设程序代做
    CopyOnWriteArrayList源码分析
    盘古信息MOM系统:赋能企业打造高效数字化车间的关键
    【笔者感悟】笔者的工作感悟【六】
    linux rsyslog日志采集格式设定四
    pytorch中transform.Compose()用法
    【随笔】论多线程CPU离线渲染器的实现:A CPU BASED OFFLINE RENDERING ENGINE
    Day698.Tomcat的日志框架及实战 -深入拆解 Tomcat & Jetty
  • 原文地址:https://blog.csdn.net/qq_43406895/article/details/125995933
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号