栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

CRNN-模型转换问题Missing Errorin loading state

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CRNN-模型转换问题Missing Errorin loading state

在将CRNN-pytorch模型转为libtorch模型的时候出现报错情况,

Missing Errorin loading state_dict for CRNN`
Missing key(s) in state_dict: "cnn.conv0.weight",

这样的错误时,网上推荐的一般是把`model.load_state_dict这个函数的中的第二个参数由True改为False(默认的是True),但是按照网上的教程改了之后,发现还是不行,并且改了之后出现了很多问题,于是就自己查看在train.py文件中是如何保存的模型,保存格式如下所示:

torch.save(
                {
                    "state_dict": model.state_dict(),
                    "epoch": epoch + 1,
                    # "optimizer": optimizer.state_dict(),#保存优化器参数
                    # "lr_scheduler": lr_scheduler.state_dict(),#学习参数
                    "best_acc": best_acc,
                }, os.path.join(output_dict['chs_dir'], "checkpoint_{}_acc_{:.4f}.pth".format(epoch, acc))

这里最重要的是 “state_dict”: model.state_dict()这个地方,这里保存的都是模型的参数,然后再观察推理的时候是如何加载的模型,在demo.py文件中,加载方式如下所示:

model.load_state_dict(checkpoint['state_dict'])

这里的加载方式和网上别人上传的模型转换代码是不一样的,按照demo.py文件里面加载的方式修改,添加上[‘state_dict’]字符段,就可以正常转换了。我的是这样的问题。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/969252.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号