当前位置: 首页 > news >正文

基本建设工程兵网站网站如何做外链

基本建设工程兵网站,网站如何做外链,自建wap网站,门户cms系统strictFalse 但还是size mismatch for []: copying a param with shape [] from checkpoint,the shape in cur 问题 我们知道通过 model.load_state_dict(state_dict, strictFalse)可以暂且忽略掉模型和参数文件中不匹配的参数#xff0c;先将正常匹配的参数从文件中载入模…strictFalse 但还是size mismatch for []: copying a param with shape [] from checkpoint,the shape in cur 问题 我们知道通过 model.load_state_dict(state_dict, strictFalse)可以暂且忽略掉模型和参数文件中不匹配的参数先将正常匹配的参数从文件中载入模型。 笔者在使用时遇到了这样一个报错 RuntimeError: Error(s) in loading state_dict for ViT_Aes:size mismatch for mlp_head.1.weight: copying a param with shape torch.Size([1000, 768]) from checkpoint, the shape in current model is torch.Size([10, 768]).size mismatch for mlp_head.1.bias: copying a param with shape torch.Size([1000]) from checkpoint, the shape in current model is torch.Size([10]).一开始笔者很奇怪我已经写明strictFalse了不匹配参数的不管就是了为什么还要给我报错。 原因及解决方案 经过笔者仔细打印模型的键和文件中的键进行比对发现是这样的strictFalse可以保证模型中的键与文件中的键不匹配时暂且跳过不管但是一旦模型中的键和文件中的键匹配上了PyTorch就会尝试帮我们加载参数就必须要求参数的尺寸相同所以会有上述报错。 比如在我们需要将某个预训练的模型的最后的全连接层的输出的类别数替换为我们自己的数据集的类别数再进行微调有时会遇到上述情况。这时我们知道全连接层的参数形状会是不匹配比如我们加载 ImageNet 1K 1000分类的预训练模型它的最后一层全连接的输出维度是1000但如果我们自己的数据集是10分类我们需要将最后一层全链接的输出维度改为10。但是由于键名相同所以PyTorch还是尝试给我们加载这时1000和10维度不匹配就会导致报错。 解决方案就是我们将 .pth 模型文件读入后将其中我们不需要的层通常是最后的全连接层的参数pop掉即可。 以 ViT 为例子假设我们有一个 ViT 模型并有一个参数文件 vit-in1k.pth它里面存储着 ViT 模型在 ImageNet-1K 1000分类数据集上训练的参数而我们要在自己的10分类数据集上微调这个模型。 model ViT(num_classes10) ckpt torch.load(vit-in1k.pth, map_locationcpu) msg model.load_state_dict(ckpt, strictFalse) print(msg)直接这样加载会出错就是上面的错误 size mismatch for head.weight: copying a param with shape torch.Size([1000, 768]) from checkpoint, the shape in current model is torch.Size([10, 768]).size mismatch for head.bias: copying a param with shape torch.Size([1000]) from checkpoint, the shape in current model is torch.Size([10]).我们将最后 pth 文件加载进来之后即 ckpt 中全连接层的参数直接pop掉至于需要pop掉哪些键名就是上面报错信息中提到了的在这里就是 head.weight 和 head.bias ckpt.pop(head.weight) ckpt.pop(head.bias)之后在运行会发现我们打印的 msg 显示 _IncompatibleKeys(missing_keys[head.weight, head.bias], unexpected_keys[])即缺失了head.weight 和 head.bias 这两个参数这是正常的因为在自己的数据集上微调时我们本就不需要这两个参数并且已经将它们从模型文件字典 ckpt 中pop掉了。现在模型全连接之前的层通常即所谓的特征提取层的参数已经正常加载了接下来可以在自己的数据集上进行微调。 因为反正我们也不用这些参数就直接把这个键值对从字典中pop掉以免 PyTorch 在帮我们加载时试图加载这些维度不匹配我们也不需要的参数。
http://www.pierceye.com/news/998529/

相关文章:

  • 网站用图片做背景搜索引擎推广一般包括哪些
  • 网站首页设计html代码可以发广告的平台
  • 做网站的技术哪个简单泰安吧贴吧
  • 网站制作厂家政务网站开发方案
  • 爱站工具卡片式网站
  • 计算机网站开发图片湛江城乡建设局网站
  • 广州个性化网站开发代做网站关键词
  • 如何开发一个手机网站北京推广网站
  • 企业网站建设合作合同wordpress国产定制主题
  • 万网虚拟机怎么做两个网站网页设计实训步骤
  • 福田做网站公司怎么选择wordpress怎样在列表页使用瀑布流
  • 做导航网站用多大的空间广州天河区有哪些大学
  • 广州市城乡建设部网站首页做婚礼设计在哪个网站下载素材
  • 网站建设推广服务合同范本什么是电子商务专业?
  • 青岛网站建设公司电话棋牌室的网站怎么做
  • 网站更改公司需要重新备案吗传媒网站
  • 海诚网站建设青岛李村网站设计公司
  • 哪个网站可以宣传做的蛋糕网站商城微信支付接口申请
  • 如何做淘客推广网站可信赖的手机网站设计
  • 西城专业网站建设公司哪家好外贸网站优化谷歌关键词排名
  • 先做网站后备案仿做网站可以整站下载器吧
  • ASP.NET实用网站开发 课后答案开发网站过程
  • 做网站需要编码吗仿站网站源码
  • 响应式网站什么意思爱南宁app下载官网最新
  • 自己做的网站怎么添加采集模块网站管理包括哪些内容
  • php做网站验证码的设计电商网站的二级怎么做
  • 广西网站建设价钱微信crm管理系统
  • 福州网站建设公司中小企业荆门市城乡建设管理局网站
  • 建设信用卡网站首页有做车身拉花的网站吗
  • 怎么做婚恋网站织梦网站推广插件