pytorch保存模型pth_pytorch中保存的模型文件.pth深入解析

本文详细解析了PyTorch中.pth文件的内部结构,包括模型参数、优化器状态、调度器信息和迭代次数等关键部分。通过示例展示了如何查看.pth文件中的模型参数、优化器的param_groups和state,以及调度器的配置。内容涵盖模型保存的两种方式,强调.pth文件中存储的模型组件细节。
摘要由CSDN通过智能技术生成

前言:前面有专门的讲解关于如何深入查询模型的参数信息,可以参考这篇文章:

本次来解析一下我们通常保存的模型文件 .pth 文件到底内部是什么?

一、.pth 文件详解

在pytorch进行模型保存的时候,一般有两种保存方式,一种是保存整个模型,另一种是只保存模型的参数。

torch.save(model.state_dict(), “my_model.pth”) # 只保存模型的参数

torch.save(model, “my_model.pth”) # 保存整个模型

保存的模型参数实际上一个字典类型,通过key-value的形式来存储模型的所有参数,本文以自己在实践过程中使用的一个.pth文件为例来说明,使用的是整个模型。

1.1 .pth 文件基本信息的查看

import torch

pthfile = r’F:/GNN/graph-rcnn/graph-rcnn/datasets/sg_baseline_ckpt.pth’ #faster_rcnn_ckpt.pth

net = torch.load(pthfile,map_location=torch.device(‘cpu’)) # 由于模型原本是用GPU保存的,但我这台电脑上没有GPU,需要转化到CPU上

# print(type(net)) # 类型是 dict

# print(len(net)) # 长度为 4,即存在四个 key-value 键值对

# for k in net.keys():

# print(k) # 查看四个键,分别是 model,optimizer,scheduler,iteration

1.2 模型的四个键值分别详解

(1)net[“model”] 详解

# print(net[“model”]) # 返回的是一个OrderedDict 对象

for key,value in net[“model”].items():

print(key,value.size(),sep=” “)

”’运行结果如下:

module.backbone.body.stem.conv1.weight torch.Size([64, 3, 7, 7])

module.backbone.body.stem.bn1.weight torch.Size([64])

module.backbone.body.stem.bn1.bias torch.

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值