权重pt文件(.pth后缀)如何查看?|编程tips·24-08-22

news2024/11/27 11:52:08

权重pt文件(.pth后缀)如何查看?

小罗碎碎念

我们在查看源码的时候,如果是预训练的模型,或者我们之前说的基础模型,那么就会涉及到一个内容——权重。但是可能有的人没有具体接触过,只是停留在“听说”。

今天另一篇推文介绍了三种UNet的变形,那么这里就以其中的一种作为分析,看一下作者提供的源码,里面就包含了权重文件.pth。

image-20240822074833689

这篇推文先不教你怎么用这个文件,先教你怎么看这个文件的内容,这是以后也一直会用到的,建议收藏!!。


一、总代码

这段代码是使用PyTorch库加载一个预训练模型的权重文件(.pth文件),并打印出该模型的相关信息。

我是用Jupyter运行的代码,并导出的md文档,所以在第三部分会看到结果,并且我做了改动,删除了value值(太多了,也没有必要看,了解模型的架构就可以)。

# 导入PyTorch库
import torch

# 定义.pth文件的路径
pthfile = r'./last_ckpt.pt'

# 使用torch.load()函数加载.pth文件中的模型权重,指定在CPU环境下进行
model = torch.load(pthfile, torch.device('cpu'))

# 打印模型类型
print('type:')
print(type(model))

# 打印模型字典的长度
print('length:')
print(len(model))

# 遍历并打印模型字典中的所有键(key)
print('key:')
for k in model.keys():
    print(k)

# 遍历并打印模型字典中的所有值(value)
print('value:')
for k in model:
    print(k, model[k])

这段代码首先导入了PyTorch库,然后指定了一个.pth文件的路径。接着,使用torch.load()函数加载了这个文件,并指定了在CPU环境下进行操作。之后,代码打印出了模型的类型、字典长度、所有的键和对应的值。

需要注意的是,torch.load()函数返回的是一个包含模型状态的字典,而不是模型本身。如果你想要加载这个状态到一个已经定义好的模型实例中,你需要先创建模型实例,然后使用model.load_state_dict()方法来加载状态字典。例如:

# 假设你已经定义了一个模型类MyModel
model_instance = MyModel()

# 加载状态字典到模型实例中
model_instance.load_state_dict(torch.load(pthfile, torch.device('cpu')))

这样,model_instance就包含了从.pth文件中加载的权重和状态。


二、逐步输出

import torch
pthfile = r'/Users/luoxiaoluotongxue/Desktop/硕士课题进展记录/项目复现/TransAttUnet-main/pretrained-model.pth'  # .pth文件的路径
model = torch.load(pthfile, torch.device('cpu'))  # 设置在cpu环境下查询
print('type:')
print(type(model))  # 查看模型字典长度
print('length:')
print(len(model))
print('key:')
for k in model.keys():  # 查看模型字典里面的key
    print(k)
print('value:')
for k in model:  # 查看模型字典里面的value
    print(k, model[k])

三、输出结果

这段输出展示了从.pth文件加载的模型权重的详细信息。

  1. 类型(type):模型权重以collections.OrderedDict的形式存储,这是一个有序字典,可以记住元素插入的顺序。

  2. 长度(length):模型权重字典包含229个条目。

  3. 键(key):字典中的键是模型中各个层的名称。这些名称通常由层的类型、层内的操作和层的序号组成。例如,inc.double_conv.0.weight表示输入卷积层(inc)的第一个双卷积层(double_conv)的权重。类似地,down1.maxpool_conv.1.double_conv.0.bias表示第一个下采样(down1)的最大池化卷积层(maxpool_conv)的第一个双卷积层的偏置。

  4. 值(value):字典中的值是各个层的权重和偏置张量。这些张量的形状和值取决于层的类型和参数。

从输出中可以看出,这个模型包含多个卷积层、批量归一化层(running_meanrunning_var)和全连接层(conv.weightconv.bias)。此外,模型还包含一些特殊层,如位置嵌入层(pos.row_embed.weightpos.col_embed.weight)和自注意力机制层(pam.*)。

总之,这段输出展示了从.pth文件加载的模型权重的结构和内容。这些权重可以用于恢复模型的状态,从而在新数据上进行预测或继续训练。

type:
<class 'collections.OrderedDict'>
length:
229
key:
inc.double_conv.0.weight
inc.double_conv.0.bias
inc.double_conv.1.weight
inc.double_conv.1.bias
inc.double_conv.1.running_mean
inc.double_conv.1.running_var
inc.double_conv.1.num_batches_tracked
inc.double_conv.3.weight
inc.double_conv.3.bias
inc.double_conv.4.weight
inc.double_conv.4.bias
inc.double_conv.4.running_mean
inc.double_conv.4.running_var
inc.double_conv.4.num_batches_tracked
down1.maxpool_conv.1.double_conv.0.weight
down1.maxpool_conv.1.double_conv.0.bias
down1.maxpool_conv.1.double_conv.1.weight
down1.maxpool_conv.1.double_conv.1.bias
down1.maxpool_conv.1.double_conv.1.running_mean
down1.maxpool_conv.1.double_conv.1.running_var
down1.maxpool_conv.1.double_conv.1.num_batches_tracked
down1.maxpool_conv.1.double_conv.3.weight
down1.maxpool_conv.1.double_conv.3.bias
down1.maxpool_conv.1.double_conv.4.weight
down1.maxpool_conv.1.double_conv.4.bias
down1.maxpool_conv.1.double_conv.4.running_mean
down1.maxpool_conv.1.double_conv.4.running_var
down1.maxpool_conv.1.double_conv.4.num_batches_tracked
down2.maxpool_conv.1.double_conv.0.weight
down2.maxpool_conv.1.double_conv.0.bias
down2.maxpool_conv.1.double_conv.1.weight
down2.maxpool_conv.1.double_conv.1.bias
down2.maxpool_conv.1.double_conv.1.running_mean
down2.maxpool_conv.1.double_conv.1.running_var
down2.maxpool_conv.1.double_conv.1.num_batches_tracked
down2.maxpool_conv.1.double_conv.3.weight
down2.maxpool_conv.1.double_conv.3.bias
down2.maxpool_conv.1.double_conv.4.weight
down2.maxpool_conv.1.double_conv.4.bias
down2.maxpool_conv.1.double_conv.4.running_mean
down2.maxpool_conv.1.double_conv.4.running_var
down2.maxpool_conv.1.double_conv.4.num_batches_tracked
down3.maxpool_conv.1.double_conv.0.weight
down3.maxpool_conv.1.double_conv.0.bias
down3.maxpool_conv.1.double_conv.1.weight
down3.maxpool_conv.1.double_conv.1.bias
down3.maxpool_conv.1.double_conv.1.running_mean
down3.maxpool_conv.1.double_conv.1.running_var
down3.maxpool_conv.1.double_conv.1.num_batches_tracked
down3.maxpool_conv.1.double_conv.3.weight
down3.maxpool_conv.1.double_conv.3.bias
down3.maxpool_conv.1.double_conv.4.weight
down3.maxpool_conv.1.double_conv.4.bias
down3.maxpool_conv.1.double_conv.4.running_mean
down3.maxpool_conv.1.double_conv.4.running_var
down3.maxpool_conv.1.double_conv.4.num_batches_tracked
down4.maxpool_conv.1.double_conv.0.weight
down4.maxpool_conv.1.double_conv.0.bias
down4.maxpool_conv.1.double_conv.1.weight
down4.maxpool_conv.1.double_conv.1.bias
down4.maxpool_conv.1.double_conv.1.running_mean
down4.maxpool_conv.1.double_conv.1.running_var
down4.maxpool_conv.1.double_conv.1.num_batches_tracked
down4.maxpool_conv.1.double_conv.3.weight
down4.maxpool_conv.1.double_conv.3.bias
down4.maxpool_conv.1.double_conv.4.weight
down4.maxpool_conv.1.double_conv.4.bias
down4.maxpool_conv.1.double_conv.4.running_mean
down4.maxpool_conv.1.double_conv.4.running_var
down4.maxpool_conv.1.double_conv.4.num_batches_tracked
up1.conv.double_conv.0.weight
up1.conv.double_conv.0.bias
up1.conv.double_conv.1.weight
up1.conv.double_conv.1.bias
up1.conv.double_conv.1.running_mean
up1.conv.double_conv.1.running_var
up1.conv.double_conv.1.num_batches_tracked
up1.conv.double_conv.3.weight
up1.conv.double_conv.3.bias
up1.conv.double_conv.4.weight
up1.conv.double_conv.4.bias
up1.conv.double_conv.4.running_mean
up1.conv.double_conv.4.running_var
up1.conv.double_conv.4.num_batches_tracked
up2.conv.double_conv.0.weight
up2.conv.double_conv.0.bias
up2.conv.double_conv.1.weight
up2.conv.double_conv.1.bias
up2.conv.double_conv.1.running_mean
up2.conv.double_conv.1.running_var
up2.conv.double_conv.1.num_batches_tracked
up2.conv.double_conv.3.weight
up2.conv.double_conv.3.bias
up2.conv.double_conv.4.weight
up2.conv.double_conv.4.bias
up2.conv.double_conv.4.running_mean
up2.conv.double_conv.4.running_var
up2.conv.double_conv.4.num_batches_tracked
up3.conv.double_conv.0.weight
up3.conv.double_conv.0.bias
up3.conv.double_conv.1.weight
up3.conv.double_conv.1.bias
up3.conv.double_conv.1.running_mean
up3.conv.double_conv.1.running_var
up3.conv.double_conv.1.num_batches_tracked
up3.conv.double_conv.3.weight
up3.conv.double_conv.3.bias
up3.conv.double_conv.4.weight
up3.conv.double_conv.4.bias
up3.conv.double_conv.4.running_mean
up3.conv.double_conv.4.running_var
up3.conv.double_conv.4.num_batches_tracked
up4.conv.double_conv.0.weight
up4.conv.double_conv.0.bias
up4.conv.double_conv.1.weight
up4.conv.double_conv.1.bias
up4.conv.double_conv.1.running_mean
up4.conv.double_conv.1.running_var
up4.conv.double_conv.1.num_batches_tracked
up4.conv.double_conv.3.weight
up4.conv.double_conv.3.bias
up4.conv.double_conv.4.weight
up4.conv.double_conv.4.bias
up4.conv.double_conv.4.running_mean
up4.conv.double_conv.4.running_var
up4.conv.double_conv.4.num_batches_tracked
outc.conv.weight
outc.conv.bias
pos.row_embed.weight
pos.col_embed.weight
pam.gamma
pam.query_conv.weight
pam.query_conv.bias
pam.key_conv.weight
pam.key_conv.bias
pam.value_conv.weight
pam.value_conv.bias
fuse1.fuse_attn.0.weight
fuse1.fuse_attn.0.bias
fuse1.fuse_attn.1.weight
fuse1.fuse_attn.1.bias
fuse1.fuse_attn.1.running_mean
fuse1.fuse_attn.1.running_var
fuse1.fuse_attn.1.num_batches_tracked
fuse1.fuse_attn.2.weight
fuse1.fuse_attn.3.weight
fuse1.fuse_attn.3.bias
fuse1.fuse_attn.4.weight
fuse1.fuse_attn.4.bias
fuse1.fuse_attn.4.running_mean
fuse1.fuse_attn.4.running_var
fuse1.fuse_attn.4.num_batches_tracked
fuse1.fuse_attn.5.weight
fuse1.fuse_attn.6.weight
fuse1.fuse_attn.6.bias
fuse1.fuse_attn.7.weight
fuse1.fuse_attn.7.bias
fuse1.fuse_attn.7.running_mean
fuse1.fuse_attn.7.running_var
fuse1.fuse_attn.7.num_batches_tracked
fuse2.fuse_attn.0.weight
fuse2.fuse_attn.0.bias
fuse2.fuse_attn.1.weight
fuse2.fuse_attn.1.bias
fuse2.fuse_attn.1.running_mean
fuse2.fuse_attn.1.running_var
fuse2.fuse_attn.1.num_batches_tracked
fuse2.fuse_attn.2.weight
fuse2.fuse_attn.3.weight
fuse2.fuse_attn.3.bias
fuse2.fuse_attn.4.weight
fuse2.fuse_attn.4.bias
fuse2.fuse_attn.4.running_mean
fuse2.fuse_attn.4.running_var
fuse2.fuse_attn.4.num_batches_tracked
fuse2.fuse_attn.5.weight
fuse2.fuse_attn.6.weight
fuse2.fuse_attn.6.bias
fuse2.fuse_attn.7.weight
fuse2.fuse_attn.7.bias
fuse2.fuse_attn.7.running_mean
fuse2.fuse_attn.7.running_var
fuse2.fuse_attn.7.num_batches_tracked
fuse3.fuse_attn.0.weight
fuse3.fuse_attn.0.bias
fuse3.fuse_attn.1.weight
fuse3.fuse_attn.1.bias
fuse3.fuse_attn.1.running_mean
fuse3.fuse_attn.1.running_var
fuse3.fuse_attn.1.num_batches_tracked
fuse3.fuse_attn.2.weight
fuse3.fuse_attn.3.weight
fuse3.fuse_attn.3.bias
fuse3.fuse_attn.4.weight
fuse3.fuse_attn.4.bias
fuse3.fuse_attn.4.running_mean
fuse3.fuse_attn.4.running_var
fuse3.fuse_attn.4.num_batches_tracked
fuse3.fuse_attn.5.weight
fuse3.fuse_attn.6.weight
fuse3.fuse_attn.6.bias
fuse3.fuse_attn.7.weight
fuse3.fuse_attn.7.bias
fuse3.fuse_attn.7.running_mean
fuse3.fuse_attn.7.running_var
fuse3.fuse_attn.7.num_batches_tracked
fuse4.fuse_attn.0.weight
fuse4.fuse_attn.0.bias
fuse4.fuse_attn.1.weight
fuse4.fuse_attn.1.bias
fuse4.fuse_attn.1.running_mean
fuse4.fuse_attn.1.running_var
fuse4.fuse_attn.1.num_batches_tracked
fuse4.fuse_attn.2.weight
fuse4.fuse_attn.3.weight
fuse4.fuse_attn.3.bias
fuse4.fuse_attn.4.weight
fuse4.fuse_attn.4.bias
fuse4.fuse_attn.4.running_mean
fuse4.fuse_attn.4.running_var
fuse4.fuse_attn.4.num_batches_tracked
fuse4.fuse_attn.5.weight
fuse4.fuse_attn.6.weight
fuse4.fuse_attn.6.bias
fuse4.fuse_attn.7.weight
fuse4.fuse_attn.7.bias
fuse4.fuse_attn.7.running_mean
fuse4.fuse_attn.7.running_var
fuse4.fuse_attn.7.num_batches_tracked

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2062868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(苍穹外卖)day01项目介绍以及环境搭建

&#xff08;新版&#xff09;苍穹外卖&#xff1a;前后端分离&#xff08;主流&#xff09;的企业级实战项目---外卖点餐 用户在线点餐 可作为毕业设计 开发方式由传统开发升级为前后端分离开发 用户端实现由H5升级为小程序 服务端实现由有状态升级…

有界注意力:增强文本到图像合成中的控制

人工智能咨询培训老师叶梓 转载标明出处 传统的文本到图像扩散模型虽然能够生成多样化和高质量的图像&#xff0c;但在处理包含多个主题的复杂输入提示时&#xff0c;往往难以准确捕捉预期的语义。特别是当这些主题在语义上或视觉上相似时&#xff0c;模型生成的图像常常出现语…

SpringBootWeb 篇-深入了解 SpringBoot + Vue 的前后端分离项目部署上线与 Nginx 配置文件结构

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 云服务器的准备 2.0 Xshell 和 Xftp 软件 2.1 Xshell 介绍 2.2 Xftp 介绍 3.0 在云服务器进行环境配置 3.1 安装 JDK 3.2 安装 MySQL 3.3 安装 Nginx 4.0 SpringB…

换代危机,极氪不得不闯的一关

文&#xff5c;刘俊宏 编&#xff5c;王一粟 “今年&#xff0c;不容我们有任何犯错的机会&#xff0c;如果犯错&#xff0c;一定会全盘皆输。” 面临智能化愈发重要的汽车市场&#xff0c;极氪智能科技CEO安聪慧曾在今年初提醒着极氪汽车&#xff08;下简称极氪&#xff09…

团队管理三大核心要点

团队管理不仅关乎任务的完成效率&#xff0c;更关乎团队成员的成长与团队的持续发展。一个高效、和谐的团队背后&#xff0c;往往离不开管理者对以下几个关键要点的深刻理解和有效实践。 一、以人为本 管理的本质不是简单地“管人”&#xff0c;而是通过管事来激发人的潜能&a…

叉车考证考试题库分享

1、制动效果的良好与否&#xff0c;主要取决于路面制动力的大小。 A、正确 B、错误 答案&#xff1a;A 2、《特种设备使用管理规则》规定&#xff0c;特种设备使用单位应当根据本单位的特种设备数量、特征等配备相应的特种设备作业人员&#xff0c;并且在使用特种设备时应保…

教程2_编辑形状

本文将介绍一些形状的基本编辑 1、对象属性设置 我们通过双击画布上的对象&#xff0c;弹出属性设置框 这里我们使用的是Box对象&#xff0c;每种对象的属性会有差异&#xff0c;根据属性名称进行相应设置即可。 2、对象局部编辑 点击工具栏中的Partial图标 当对象创建后需…

UE5 多个类选择界面生成。解决方案思路。

中控器CC 》用户界面控制器UI_CC 》用户界面UI_Inst 生成 CC使用接口&#xff0c;通知UI_CC开始生成UI_Inst。 蓝图函数库编写判断是否存在和创建UI的蓝图。&#xff08;此处略&#xff09; UI_CC生成时&#xff0c;userwidget使用接口&#xff0c;注册UI_CC的用户控件的控件…

(转载)使用zed相机录制视频

参照下面这个链接 https://blog.csdn.net/peng_258/article/details/127457199?ops_request_misc&request_id&biz_id102&utm_termzed2%E5%BD%95%E5%88%B6%E6%95%B0%E6%8D%AE%E9%9B%86&utm_mediumdistribute.pc_search_result.none-task-blog-2~all~sobaiduweb…

AI绘画StableDiffusion有哪几种模型,各个模型之间又有什么作用?小白入门必看扫盲级教程!(附各种模型资料)

大家好&#xff0c;我是画画的小强 在AI绘画工具 Stable Diffusion中&#xff0c;模型有好几种&#xff0c;不同插件有不同的模型&#xff0c;分别作用于不同的功能。 今天强哥就带着大家一起来了解一下。 大模型&#xff1a;Stable Diffusion StableDiffusion大模型&#…

YOLOv8改进 | 融合改进 | C2f 融合Efficient Multi-Scale Conv提升检测效果【改进结构图+完整代码】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效…

[已解决]mac远程连接windows桌面:parallels client连接遇到的问题

[已解决]mac远程连接windows桌面&#xff1a;parallels client连接遇到的问题 问题一&#xff1a;网络不通问题二&#xff1a;远程windows防火墙导致无法连接问题三&#xff1a;远程桌面服务未启动问题四&#xff1a;家庭版&#xff08;非专业版&#xff09;windows导致的无法使…

Xilinx FPGA 7系列 GTX/GTH Transceivers

1概述 Xilinx 7系列FPGA全系所支持的GT&#xff0c;GT资源是Xilinx系列FPGA的重要卖点&#xff0c;也是做高速接口的基础&#xff0c;GT的意思是Gigabyte Transceiver&#xff0c;G比特收发器。不管是PCIE、SATA、MAC等&#xff0c;都需要用到GT资源来做数据高速串化和解串处理…

2379.得到K个黑块的最少涂色次数

目录 题目描述 示例1&#xff1a; 示例2&#xff1a; 提示&#xff1a; 解题思路 滑动窗口法 概念 应用场景及特点&#xff1a; 思路 流程展示 代码 复杂度分析 题目描述 给你一个长度为 n 下标从 0 开始的字符串 blocks &#xff0c;blocks[i] 要么是 W 要么是 B…

Vsphere连接ESXI主机创建虚拟机并安装操作系统

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f427;Linux基础知识(初学)&#xff1a;点击&#xff01; &#x1f427;Linux高级管理防护和群集专栏&#xff1a;点击&#xff01; &#x1f510;Linux中firewalld防火墙&#xff1a;点击&#xff01; ⏰️创作…

软碟通刻盘装系统出现错误代码0X800700D解决方案

install.wim大小超过4G&#xff0c;fat32不支持单个文件4G以上的文件。 可以按winR,在弹出的windows程序员运行窗口用cmd命令&#xff0c;调出命令提示符&#xff0c;然后执行convert H:/FS:NTFS命令即可&#xff08;H为我的U盘盘符&#xff0c;这个根据个人的盘符来定&#xf…

【Linux入门】Liunx权限

文章目录 前言一、用户的概念1.用户的概念2.用户切换1&#xff09;普通用户切换到超级用户2&#xff09;超级用户切换到普通用户 二、权限管理1.文件访问者的分类&#xff08;人&#xff09;2.文件类型和访问权限&#xff08;事物属性&#xff09; 三、文件类型1.基本权限2.文件…

开放式耳机好还是入耳式耳机好?本文章为你讲解

闲话少说&#xff0c;今天的这篇文章就是我个人整理出来对开放式耳机的一些认知分享&#xff0c;就是相当于一份开放式耳机的选购攻略&#xff0c;标准再多也没有使用感好来的直接&#xff01;感兴趣的朋友一起来了解 什么样的耳机是开放式的 首先区别于封闭式的入耳耳机&…

linux文件——用户缓冲区——概念深度理解、IO模拟实现

前言&#xff1a;本篇文章主要讲解文件缓冲区。 讲解的方式是通过抛出问题&#xff0c; 然后通过分析问题&#xff0c; 将缓冲区的概念与原理一步一步地讲解。同时&#xff0c; 本节内容在最后一部分还会带友友们模拟实现一下c语言的printf&#xff0c; fprintf接口&#xff0c…

5IUX极简主页搜索源码/自定义你的浏览器主页

5IUX极简主页搜索源码&#xff0c;自定义你的浏览器主页。在使用各种导航首页时&#xff0c;我们时常被满屏的广告和资讯所困扰&#xff0c;这款源码可以让你自己设计一个不受干扰的浏览器主页。它不是镜像&#xff0c;也不是代理&#xff0c;只是用作浏览器主页&#xff0c;同…