pytorch保存模型的两种方法
文章目录
- 前言
- 一、保存整个模型
- 二、只保存参数
- 模型不同后缀名的区别
- 总结
前言
模型的本质是一堆用某种结构存储起来的参数
用数据对模型进行训练后得到了比较理想的模型,就需要将其存储起来,然后在需要用到的时候加载一下直接使用。
保存的时候有两种方式:
一种方式是直接将整个模型保存下来,之后直接加载整个模型,但这样会比较耗内存,但内存吗嘛,不是什么大问题,我遇到的模型一般不超过100M。这都是很大的了;
另一种是只保存模型的参数,之后用到的时候再创建一个同样结构的新模型,然后把所保存的参数导入新模型。(也可以,也挺方便的)
一、保存整个模型
#保存
torch.save(the_model, PATH)
#读取
model = torch.load(PATH)
读取时不需要先定义model,比如:model=resnet50()。直接加载赋值就行。
二、只保存参数
保存参数:
torch.save(model,path)
读取模型:
# 测试所保存的模型
m_state_dict = torch.load('rnn.pt')
new_m = LSTM(input_size=1, hidden_size=10, num_layers=2).to(device)
new_m.load_state_dict(m_state_dict)
1、加载参数
2、实例化模型
3、将参数赋予模型
也可以在定义模型后直接
new_m.load_state_dict(torch.load('rnn.pt'))
模型不同后缀名的区别
经常会看到后缀名为.pt, .pth, .pkl的pytorch模型文件,其实它们并不是在格式上有区别,只是后缀不同而已(仅此而已)。
在pytorch官方的文档/代码里,有用.pt的,也有用.pth的。一般惯例是使用.pth,但是官方文档里貌似.pt更多,而且官方也不是很在意固定用一种。
总结
持续更新
pytorch保存模型的两种方法相关推荐
- 加载dict_PyTorch 7.保存和加载pytorch模型的两种方法
众所周知,python的对象都可以通过torch.save和torch.load函数进行保存和加载(不知道?那你现在知道了(*^_^*)),比如: x1 = {"d":" ...
- 在Web项目中保存会话的两种方法:Cookie和Session
Web浏览器是与Web服务器之间的会话是一个不保持的会话,浏览器发起请求,建立会话,获得结果后,会话就不在了.然而,在涉及到用户登录Web项目中,开发人员必须有一种方法,区分用户登录前后的状态,以便对 ...
- 【PyTorch】保存和载入模型的两种方法
import torch import argparseparser = argparse.ArgumentParser("-") parser.add_argument(&quo ...
- TensorFlow 模型保存/载入的两种方法
TensorFlow 模型保存/载入 我们在上线使用一个算法模型的时候,首先必须将已经训练好的模型保存下来.tensorflow保存模型的方式与sklearn不太一样,sklearn很直接,一个skl ...
- Pytorch构建模型的3种方法
这个地方一直是我思考的地方!因为学的代码太多了,构建的模型各有不同,这里记录一下! 可以使用以下3种方式构建模型: 1,继承nn.Module基类构建自定义模型. 2,使用nn.Sequential按 ...
- nn.Dataparallel pytorch 平行计算的两种方法
1. nn.Dataparallel 多GPU加速训练 原理: 模型分别复制到每个卡中,然后把输入切片,分别放入每个卡中计算,然后再用第一块卡进行汇总求loss,反向传播更新参数. 第一块卡占用的内存 ...
- 记账一段时间后,导出保存账目的两种方法
怎么记账,收入.支出的账目可以在电脑上记录吗?记录一段时间后,怎么保存账目呢?今天小编给大家分享一个新的记账技巧, 下面一起来试试. 需要哪些工具? 一台电脑 怎么快速记账? 运行[晨曦记账本],主界 ...
- 新手入门深度学习 | 4-4:保存模型的N种方法
- pytorch保存模型pth_Day159:模型的保存与加载
网络结构和参数可以分开的保存和加载,因此,pytorch保存模型有两种方法: 保存 整个模型 (结构+参数) 只保存模型参数(官方推荐) # 保存整个网络torch.save(model, check ...
最新文章
- jmeter操作数据库
- 架构师速成-架构目标之可用性
- How is CRM status filtering logic done
- 科普漫画 | 沙子如何变成芯片?
- 点击回车事件(登录)
- Linux的实际操作:Linux磁盘分区 、挂载
- mysql outfile raw_解决 Mysql outfile 的报错问题!
- html页面怎么引用通用的头部,html 如何引入一个公共的头部和底部
- jQuery ajax error函数(交互错误信息的获取)
- 《统计会犯错——如何避免数据分析中的统计陷阱》—第1章构建置信区间
- Atitit 存储方法大总结 目录 1. 存储方式分类	2 1.1. 按照数据分类为 结构化 半结构化 非结构化	2 1.2. 按照内外部可分类 内部存储和外部存储持久化	2 1.3. 按照本地远
- DOS命令tree的用法
- WIN7开机欢迎界面后黑屏
- 浅谈Java中的单例模式及四种懒汉模式
- 擦亮双眼,愚人节彩蛋回顾
- 用java实践了下Bingo游戏的玩法
- springboot2.2.6文件上传、下载及文件超出大小限制的处理
- Windows 8实用窍门系列:6.Windows 8中的Popup使用方式
- 腾讯自媒体平台:腾讯QQ看点上线创作中心
- 解决Eclipse打开某个workspace报错:The project description file (.project) for (项目名)