问题

最近在使用pytorch1.0加载resnet预训练模型时,遇到的一个问题,在此记录一下。
    KeyError: 'layer1.0.bn1.num_batches_tracked’

其实是使用的版本的问题,pytorch0.4.1之后在BN层加入了track_running_stats这个参数,
这个参数的作用如下:
  训练时用来统计训练时的forward过的min-batch数目,每经过一个min-batch, track_running_stats+=1
  如果没有指定momentum, 则使用1/num_batches_tracked 作为因数来计算均值和方差(running mean and variance).
原文链接:https://blog.csdn.net/qq_40821799/article/details/103079350

其实,这个参数没啥用.但因为官方提供的预训练模型是pytorch0.3版本训练出来的,因此没有这个参数.
所以,只要过滤一下预训练权重字典中的关键字即可,‘num_batches_tracked’.代码例子,如下.

有问题的代码:

   def load_specific_param(self, state_dict, param_name, model_path):param_dict = torch.load(model_path)for i in state_dict:key = param_name + '.' + istate_dict[i].copy_(param_dict[key])del param_dict

对’num_batches_tracked进行过滤:

   def load_specific_param(self, state_dict, param_name, model_path):param_dict = torch.load(model_path)param_dict = {k: v for k, v in param_dict.items() if 'num_batches_tracked' not in k}for i in state_dict:key = param_name + '.' + iif 'num_batches_tracked' in key:continuestate_dict[i].copy_(param_dict[key])del param_dict

pytorch加载预训练模型遇到的问题:KeyError: ‘bn1.num_batches_tracked‘相关推荐

  1. pytorch加载预训练模型_Pytorch-Transformers 1.0发布,支持六个预训练框架,含27个预训练模型...

    AI 科技评论按:刚刚在Github上发布了开源 Pytorch-Transformers 1.0,该项目支持BERT, GPT, GPT-2, Transfo-XL, XLNet, XLM等,并包含 ...

  2. Pytorch 加载预训练模型参数时出现size mismatch错误

    目录 1 不妨先研究一下' resnet18-5c106cde.pth'里面存了什么东西以及它的数据类型 (1_1)' resnet18-5c106cde.pth'的数据类型

  3. pytorch:加载预训练模型(多卡加载单卡预训练模型,多GPU,单GPU)

    在pytorch加载预训练模型时,可能遇到以下几种情况. 分为以下几种 在pytorch加载预训练模型时,可能遇到以下几种情况. 1.多卡训练模型加载单卡预训练模型 2. 多卡训练模型加载多卡预训练模 ...

  4. Pytorch网络模型权重初始化、保存与加载模型、加载预训练模型、按需设置学习率

    前言 在我们对神经网络模型进行训练时,往往需要对模型进行初始化或者加载预训练模型.本文将对模型的权重初始化与加载预训练模型做一个学习记录,以便后续查询使用. 权重初始化 常见的初始化方法 PyTorc ...

  5. HuggingFace学习3:加载预训练模型完成机器翻译(中译英)任务

    加载模型页面为:https://huggingface.co/liam168/trans-opus-mt-zh-en 文章目录 整理文件 跑通程序,测试预训练模型 拆解Pipeline,逐步进行翻译任 ...

  6. 加载预训练模型时报错 KeyError: param ‘initial_lr‘ is not specified in param_groups[0]

    在加载预训练模型继续训练时,程序报错:KeyError: "param 'initial_lr' is not specified in param_groups[0] when resum ...

  7. keras冻结_Keras 实现加载预训练模型并冻结网络的层

    在解决一个任务时,我会选择加载预训练模型并逐步fine-tune.比如,分类任务中,优异的深度学习网络有很多. ResNet, VGG, Xception等等... 并且这些模型参数已经在imagen ...

  8. MXNet快速入门之训练加载预训练模型(四)

    前言 在前面几篇文章中详细介绍了MXNet的一些特点以及入门基础知识,本篇文章主要介绍如何使用MXNet来训练模型.加载模型进行预测.预训练模型以及MXNet中GPU使用的相关知识. 在介绍训练模型之 ...

  9. Caffe2教程实例,加载预训练模型

    Caffe2教程实例,加载预训练模型 概述 本教程使用模型库中的预训练模型squeezenet 里分类我们自己的图片.我们需要提供要分类图片的路径或者URL信息作为输入.了解ImageNet对象代码可 ...

最新文章

  1. 堪比Focal Loss!解决目标检测中样本不平衡的无采样方法
  2. 独家 | 国内AI专业高考报考指南
  3. 当 Messaging 遇上 Jepsen
  4. Vue电商网站项目开发总结
  5. 格局炸裂,程序员必看的十部纪录片
  6. try的动词用法_try的用法_tries与try的用法,请分别举例说明。谢!
  7. 现当代英国童话小说传统对幻想文学创作的启示
  8. 提高禁毒意识,vr全景直观感受毒品危害
  9. pytorch深度学习出错整理(一)
  10. 基于安卓的校园订餐系统开发设计
  11. 重天乾 (易經大意 韓長庚)
  12. 7.4 第三方支付和跨境支付
  13. Rosalind Java| Translating RNA into Protein
  14. [conda] 利用conda安装本地包
  15. 京东云服务器使用教程
  16. iframe的属性及其简单使用(点击标签切换页面)
  17. .bat文件改为windows默认打开方式
  18. 用友java面试题_用友网络科技Java高级开发面试题(2019)
  19. 手动实现一个满足promises-aplus-tests的Promise
  20. [转帖]老鸟运维的下场

热门文章

  1. vue实现dom元素拉伸
  2. 中等题 leetcode 452.用最少的箭射气球(贪心)
  3. 用10行代码检测脸部情绪
  4. 7万字省级智慧农业大数据平台项目规划建设方案
  5. 最详细的Hadoop+Hbase+Hive完全分布式环境搭建教程(二)
  6. 关于state刷新界面的思考
  7. USB鼠标-字符串描述符(七)
  8. 用Blender设计插画?3D艺术家又开始秀啦!
  9. 基本BP算法的实例----蚊子的分类
  10. java字符与ASCII码相互转换