首页 > 其他分享 >PyTorch模型保存与加载

PyTorch模型保存与加载

时间:2022-12-27 17:26:00浏览次数:54  
标签:load 模型 torch PyTorch state dict model 加载

保存与加载整个模型

保存整个模型,包括网络结构和权重参数,保存后的文件用torch.load()加载后的类型是定义的网络结构类,如class CNN:

torch.save(model, "model.pkl")

加载整个模型:

model = torch.load("model.pkl")

只保存与加载模型参数

只保存模型参数,保存后的文件使用torch.load()加载后类型是collections.OrderedDict:

torch.save(model.state_dict(), "model_parameter.pkl")

由于模型文件中只保存了参数、没有网络结构,所以加载模型时需要先指定网络结构,复制训练时定义的网络结构即可:

model = Model() # 使用训练时定义的模型网络结构
model.load_state_dict((torch.load("model_parameter.pkl")))

保存与加载自定义模型

可以自定义模型中保存哪些信息,例如网络结构、模型权重参数、优化器参数等:

custom_model = {'net': CNN(),
                'model_state_dict': model.state_dict(),
                'optimizer_state_dict': optimizer.state_dict()
                }

torch.save(custom_model, 'custom_model.pkl')

保存后的文件使用torch.load()后可以通过字典取值方式获取net、model_state_dict等键值内容。

custom_model = torch.load('custom_model.pkl')
model = custom_model['net']
model.load_state_dict(custom_model['model_state_dict'])

# predict
model(data)

参考

https://zhuanlan.zhihu.com/p/73893187

标签:load,模型,torch,PyTorch,state,dict,model,加载
From: https://www.cnblogs.com/init0ne/p/17008523.html

相关文章

  • 常见的优先级选择模型 - 影响程度(痛点大于痒点)
    痛点需求一般情况大于痒点需求。只有因为难用而死掉的产品,没有因为难看而死掉的产品。痛点“痛点”是人们在完成某种行为、进行某种体验过程中的阻碍,是能够触发人强烈......
  • SpringBoot - 静态资源的默认存放位置与修改默认存放位置,默认配置文件加载的路径
    1.静态资源文件路径静态资源文件路径是指用户可以直接通过游览器访问到文件的存放位置。按照优先级有一下4个路径:classpath:/META-INF/resources/classpath:/resources/......
  • 常见的优先级选择模型 - 四象限法则(重要紧急)
    四象限法则将需求按照紧急和重要两个维度划分为四类:重要且紧急,这类的事情可能是:明天有个重要的报告要提交、要考试了才开始看书、要上台表演了台词还没记熟...重要不紧......
  • 第五章 --------------------加载和编译XAML
    1.XAML之所可以操作和运行,是因为最终都编译成了C#文件,那么可以使用纯C#去编写界面,但是比较复杂。我对WPF中XAML的理解在WPF中可以使用XAML来布局界面,也可以使用纯的C#来......
  • 万字长文详解 YOLOv1-v5 系列模型
    一,YOLOv1Abstract1.Introduction2.UnifiedDetectron2.1.NetworkDesign2.2Training2.4.Inferences4.1ComparisontoOtherReal-TimeSystems5,代码实......
  • 学习下Redis内存模型
    作者:京东零售吴佳前言redis,对于一个java开发工程师来讲,其实算不得什么复杂新奇的技术,但可能也很少人去深入了解学习它的底层的一些东西。下面将通过对内存统计、内存划......
  • 常见的优先级选择模型 - 老板需求
    老板需求是产品经理无法避免的,而且一般优先级较高。这主要是从需求来源的维度去考虑,有同事、用户、老板.....为什么收老板需求优先级高呢?首先,老板的经验和思考高度一......
  • 数据仓库与多维模型设计
    这是一份早期传统行业时代的数据仓库与多维模型的设计内容,对于初学者还是有参考与学习价值。备注:该文档是在早期广州菲奈特(之前在数据仓库非常有名)一个培训ppt关于数据仓库......
  • 一个数据人对领域模型理解与深入
    备注:这一篇是来自在自己写的书某些章节删减,在这里并不对文章中所涉及到内容深入展开。  TOGAFTOGAF对于架构师的职责定义是了解并关注实际上关系重大但未变得过载的一些......
  • 学习下Redis内存模型
    作者:京东零售吴佳前言redis,对于一个java开发工程师来讲,其实算不得什么复杂新奇的技术,但可能也很少人去深入了解学习它的底层的一些东西。下面将通过对内存统计、内存划分、......