注意,后缀.pt和.pth似乎没什么区别

保存时即可以保存整个模型也可以只保存参数,还可以构建新字典重新保存,这也就对应了在读取时需要做不同的处理,我们在加载的时候load_state_dict函数的参数就是OrderedDict类型的参数,这里给出了四种不同保存方式及其读取获得OrderedDict的方式。
1.保存

# coding=gbk
import torch
import torch.nn as nn
class MLP_(nn.Module):def __init__(self):super(MLP_, self).__init__()self.hidden = nn.Linear(3, 2)self.act = nn.ReLU()self.output = nn.Linear(2, 1)def forward(self, x):a = self.act(self.hidden(x))return self.output(a)net = MLP_()#保存整个模型torch.save(net, 'a1.pt')all_model = {'model':net} #为模型部分添加键值,这样如果想要保存优化器参数的,可以向字典中加入新值
torch.save(all_model, 'a2.pt')
#只保存参数torch.save(net.state_dict(),'a3.pt')
all_states = {'state_dict': net.state_dict()} #为模型参数部分添加键值,这样如果想要保存优化器参数的,可以向字典中加入新值
torch.save(all_states, 'a4.pt')

2.加载

# coding=gbk
import torch
from save import MLP_
if __name__ == "__main__":with torch.no_grad():a1 = 'a1.pt'a2 = 'a2.pt'a3 = 'a3.pt'a4 = 'a4.pt'a1_ = torch.load(a1)print(a1_.state_dict())a2_ = torch.load(a2)['model'] #通过键值选取对应值print(a2_.state_dict())a3_ = torch.load(a3)print(a3_)a4_ = torch.load(a4)['state_dict'] #通过键值选取对应值print(a4_)

参考:https://zhuanlan.zhihu.com/p/94971100

pytorch 之 保存不同形式的预训练模型相关推荐

  1. pytorch 之 加载不同形式的预训练模型

    我们在学习pytorch时,不可避免的要加载不同的预训练模型.而且pytorch下的预训练模型有很多种形式,我们又该如何加载呢.今天,我就为大家介绍三种常用的模型形式以及其加载方式. 1.pth形式和 ...

  2. 韩国小哥哥用Pytorch实现谷歌最强NLP预训练模型BERT | 代码

    乾明 编译整理自 GitHub  量子位 报道 | 公众号 QbitAI 新鲜代码,还热乎着呢. 前几天,谷歌发布了一篇论文,介绍了一个超强的NLP预训练模型BERT. 不仅在SQuAD中摧枯拉朽,全 ...

  3. Tensorflow保存模型和加载预训练模型

    训练好的模型需要保存下来或者加载已经训练完成的模型,就用到了ckpt文件. 目录 1.了解tensorflow保存的文件 (1)checkpoint (2)MyModel.meta (3)MyMode ...

  4. Pytorch:NLP 迁移学习、NLP中的标准数据集、NLP中的常用预训练模型、加载和使用预训练模型、huggingface的transfomers微调脚本文件

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) run_glue.py微调脚本代码 python命令执行run ...

  5. 【PyTorch】如何取得预训练模型的标签label列表(以 Alexnet 在 ImageNet 上的预训练模型为例)

    PyTorch 预训练模型 PyTorch 提供过了大量的预训练模型可以直接拿来使用,或者进行增量训练和微调. 拿 Alexnet 的预训练模型为例 import torch import torch ...

  6. 教程丨一文入门图像预训练模型

    作者:Dr. Dataman 译者:刘媛媛 过去三十年来,研究学者在图像识别算法和图像数据集方面做了许多工作,积累了宝贵的知识经验.如果你对图像训练感兴趣,但又不知道从何开始.那么,我希望这篇文章可以 ...

  7. 图像预训练模型的起源解说和使用示例

    来源:Deephub Imba 本文约3500字,建议阅读14分钟 本文文章简要介绍了研究人员在图像识别算法和图像数据方面的演变,并总结了现在的一些热门话题. 三十多年来,许多研究人员在图像识别算法和 ...

  8. 【深度学习】一文入门图像预训练模型

    作者:Dr. Dataman 译者:刘媛媛 过去三十年来,研究学者在图像识别算法和图像数据集方面做了许多工作,积累了宝贵的知识经验.如果你对图像训练感兴趣,但又不知道从何开始.那么,我希望这篇文章可以 ...

  9. 迁移学习:如何为您的机器学习问题选择正确的预训练模型

    https://www.toutiao.com/a6687923187298075144/ 在这篇文章中,我们将简要介绍一下迁移学习是什么,以及如何使用它. 什么是迁移学习? 迁移学习是使用预训练模型 ...

最新文章

  1. 结合项目实例 回顾传统设计模式(二)观察者模式
  2. 安装discuz论坛mysqli解决方法
  3. getter方法的作用 vuex_Vuex入门篇——基本使用
  4. CRM产品主数据在行业解决方案industry solution中的应用
  5. cad统计面积长度插件vlx_用了它,画cad施工图再也不加班了!
  6. H3C FTP配置示例
  7. 如何检测本计算机耗电量,如何查看电脑耗电量?鲁大师查看电脑使用功率的方法...
  8. linux 消息队列机制
  9. JavaScript变量和作用域
  10. win8.1 安装.NET Framework3.5
  11. php在哪改缩略图的大小,Thinkphp自定义生成缩略图尺寸的方法
  12. 【Android多媒体】Android5.0 NuPlayer多媒体框架【1】
  13. Arturia V Collection 8 for mac - Arturia系列合成器插件大合集
  14. 小刘同学的CMOS模拟集成电路学习小记(不停更新)
  15. 传统的固定思维和敏捷思维的对比
  16. vim keymap
  17. 渗透测试常用在线工具汇总
  18. 网络(HCNA00笔记)
  19. 运营级低延时网络直播平台建设解决方案
  20. ExtJs6 修改store里面数据grid单元格左上角会有红点标签的去掉方法

热门文章

  1. python:collections模块
  2. 参数的范数正则/惩罚(parameter norm penalties)
  3. Data truncation: Data truncated for column/Data too long for column
  4. TeeChart中 Line的Clear方法
  5. 作业 29 广义积分
  6. C# 打开word 语法拼写错误太多 解决方案
  7. [基础题] 7.第一种(*)按如下要求编写Java程序:
  8. iOS逆向之深入解析如何计算+load方法的耗时
  9. LeetCode 208. 实现 Trie (前缀树) —— 提供一套前缀树模板
  10. YOLO_ Real-Time Object Detection 实时目标检测