0.4.1版本问题

Load pytorch model from 0.4.1 to 0.4.0

  跨版本inference问题, 0.4.1上和0.4.0的BN实现方式不同, 0.4.1训练出来的model的BN参数里会有num_batches_tracked, 但是在0.4.0里你定义同样的BN层就不会有这个参数

  解决办法就是给state_dict加filter

model_dict = checkpoint['state_dict']
filtered = {
    k: v for k, v in model_dict.items() if 'num_batches_tracked' not in k
}
model.load_state_dict(filtered)

  凡是训练时定义, 但是inference的时候不想load到model里的参数都可以用这个办法

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 声明:作者翻译论文仅为学习,如有侵权请...
    SnailTyan阅读 5,170评论 0 8
  • Training spaCy’s Statistical Models训练spaCy模型 This guide d...
    Joe_Gao_89f1阅读 6,649评论 1 5
  • 姓名:周玉霞 六项精进:327期学员 公司:温州易道伟业企业管理咨询有限公司 地点:温州市鹿城区东龙路46号 【日...
    Anne玉阅读 96评论 0 0
  • 一个农民从洪水中救起了他的妻子,他的孩子却被淹死了。 事后,人们议论纷纷。有的说他做得对,因为孩子可以再生一个,妻...
    茹意茹意阅读 275评论 0 0
  • 冥王星: 见信如面。 首先和你说一声抱歉,因为你说“确实很长时间没有在公号留言了”,我的确没有真切地想起来你是谁。...
    远近先生阅读 704评论 2 16