【PyTorch Lightning】.ckpt 是什么?里面有什么?

  1. 什么是检查点(checkpoint, ckpt)?

当模型在训练过程中时,随着其不断接收更多数据,其性能也会发生变化。在训练过程中保存模型的状态是一种最佳实践。这样可以在开发模型的过程中,在每个关键点上获得模型的一个版本,即一个检查点。一旦训练完成,您可以使用在训练过程中找到的性能最佳的检查点。

检查点还使得训练在中断的情况下可以从中断的地方恢复。

PyTorch Lightning 检查点在普通的 PyTorch 中完全可用。

  1. .ckpt 检查点文件里面有什么?

一个 Lightning 检查点包含了模型的整个内部状态的转储。与普通的 PyTorch 不同,Lightning 保存了你在最复杂的分布式训练环境中恢复模型所需的一切。

在 Lightning 检查点中,您会找到:

  • 16 位精度训练的缩放因子(如果使用 16 位精度训练)
  • 当前的 epoch
  • 全局步数
  • LightningModule 的 state_dict
  • 所有优化器的状态
  • 所有学习率调度器的状态
  • 所有回调函数的状态(用于有状态回调函数)
  • 数据模块的状态(用于有状态数据模块)
  • 用于创建模型的超参数(初始参数)
  • 用于创建数据模块的超参数(初始参数)
  • 循环的状态
  1. state_dict 是什么?

nn.Module 的模型权重,具体使用方法如下。

Lightning checkpoints 完全兼容普通的 torch nn.Modules。

checkpoint = torch.load(CKPT_PATH)
print(checkpoint.keys())

例如,假设像下面这样创建了一个 LightningModule:

class Encoder(nn.Module):...class Decoder(nn.Module):...class Autoencoder(L.LightningModule):def __init__(self, encoder, decoder, *args, **kwargs):super().__init__()self.encoder = encoderself.decoder = decoderautoencoder = Autoencoder(Encoder(), Decoder())

一旦autoencoder训练完成,就可以提取出与 torch nn.Module 相关的权重。

checkpoint = torch.load(CKPT_PATH)
encoder_weights = {k: v for k, v in checkpoint["state_dict"].items() if k.startswith("encoder.")}
decoder_weights = {k: v for k, v in checkpoint["state_dict"].items() if k.startswith("decoder.")}

官方文档:https://lightning.ai/docs/pytorch/stable/common/checkpointing_basic.html

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

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

相关文章

成为程序员后你都明白了程序即人生,并无二样

成为程序员后你都明白了什么? 简介:一个16年开发老兵的心路历程 方向一:技术成长 先说下本职吧,技术这一块呢。因为笔者非常喜欢技术从初二就开始接触简单的编程,考学时所有的专业全填写了计算机相关的专业&#xff0…

Spring Cloud+Uniapp 智慧工地云平台源码 智慧工地云平台AI视频分析应用

目录 AI应用与环境治理 设备管理与危大工程 塔吊安全监管 智慧工地APP端 智慧工地硬件设备 智慧工地主要功能模块 智慧工地可以通过以下几个方面为建筑行业赋能: 1.提高工程效率 2.提高工程安全性 3.提高工程质量 4.提高工程管理效率 绿色施工 质量管理…

PgSQL的登录相关(Ubuntu22.04)

一 将用户设为密码登录方式 1 修改用户的密码 sudo -u postgres psql -c "ALTER USER yuhui WITH PASSWORD xinmima;" 2 修改配置,指定用户yuhui使用密码登录 sudo vi /etc/postgresql/16/main/pg_hba.conf local all postgres …

遥感图像分割 | 基于一种类似UNet的Transformer算法实现遥感城市场景图像的语义分割_适用于卫星图像+航空图像+无人机图像

项目应用场景 面向遥感城市场景图像语义分割场景,项目采用类似 UNet 的 Transformer 深度学习算法来实现,项目适用于卫星图像、航空图像、无人机图像等。 项目效果 项目细节 > 具体参见项目 README.md (1) 安装依赖 conda create -n airs python3.8…

CAS和synchronized原理

synchronized与CAS Synchronized 原理加锁工作过程一些优化 CAS实现原子类 小结 Synchronized 原理 synchronized 既可以是乐观锁, 也可以是悲观锁.synchronized 既可以是轻量级锁, 也可以是重量级锁.synchronized 重量级锁是由系统的互斥锁实现的; 轻量级锁是基于自旋锁实现的…

C++学习进阶:智能指针

目录 前言: 1.知识引入 1.1.异常安全问题 1.2.RALL和智能指针雏形 2.智能指针的发展 2.1.auto_ptr的引入 2.2.unique_ptr的引入 2.3.救世主shared_ptr(重点) 2.4.weak_ptr的引入(重点) 2.5.测试函数 3.定制删…

学习Python先从了解Python开始

Python是一种高级编程语言,它的语法简洁易读,功能强大,应用领域广泛。Python不仅适用于数据科学、机器学习、Web开发等领域,还可以用于自动化脚本编写、游戏开发等。在本文中,我们将探讨Python的特点、应用领域以及未来…

网工内推 | 兴业银行总行正编,科技运维部,硕士以上学历

01 兴业银行 招聘岗位:安全渗透专家 职责描述: 1.负责牵头组织本行红蓝对抗、攻防演练等工作; 2.负责牵头制定有效的渗透测试方案,开展对本行防御体系的验证工作; 3.负责牵头组织本行各类应用系统的渗透测试与漏洞扫…

图神经网络与分子表征:7. LEFTNet

在执行性质预测任务时,我们需要考虑两个问题:1. 如何正确的将图结构进行编码?2. 如何汇聚编码信息预测整个分子的任务? LEFTNet 就是通过回答上述问题来进行模型设计的。 原文地址 算法设计 原文中,作者定义了三个图…

小米安卓春招面试一面

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 1.多态 2.hashmap,hashtable和concurrenthashmap,问的定义实现和区别 3.jvm的运行…

02 - ArcGIS For JavaScript-矢量数据的符号化处理(Symbol)

文章目录 综述Symbol的分类Point的符号化Point符号化为二维几何:Point位图符号化:Point的三维结合符号化Point 符号化为GLTF模型 PolylineSymbol-线符号化基本样式管道样式墙体样式条带样式方管样式 PolygonSymbol-面符号化水面效果拉伸效果填充效果 Mes…

PCB----Allegro软件使用小技巧

1.修改画好的同面积: 2.修改铜的网络,或者铺铜铺错网络了: 点击需要修改的铜 在点击要修改成的网络 3.铺铜需要注意: 铜片和铜片之间间隔2个点(点设置6.25,如下图1-2:) 每一个单独的…

差速机器人模型LQR 控制仿真——路径模拟

LQR路径跟踪要求路径中带角度,即坐标(x,y,yaw),而一般我们的规划出来的路径不带角度。这里通过总结相关方法,并提供一个案例。 将点路径拟合成一条完整的线路径算法 将点路径拟合成一条完整的线路径是一个常见的问题…

ai智能电话机器人是如何自主学习的

电话机器人的出现,帮助很多传统电销行业企业进入新的发展阶段。它主要通过语音识别和针对语意的理解识别客户所说的内容,针对性的回答问题,为企业高效筛选意向客户。除了电话机器人语音识别之外,电话机器人能够自主学习&#xff0…

大模型推理性能优化之KV Cache解读

0. 引言 做大模型性能优化的一定对KV Cache不陌生,那么我们对这个技术了解到什么程度呢?请尝试回答如下问题: KV Cache节省了Self-Attention层中哪部分的计算?KV Cache对MLP层的计算量有影响吗?KV Cache对block间的数据传输量有影响吗?本文打算剖析该技术并给出上面问题…

每日一题 — 最小覆盖子串

76. 最小覆盖子串 - 力扣(LeetCode) 解法一:暴力遍历哈希表 解法二:滑动窗口哈希表 定义left和right初始化为零,固定left,先向右遍历right,放到哈希表中这个时候我们需要统计有效字符的个数&…

五种主流数据库:集合运算

关系型数据库中的表与集合理论中的集合类似,表是由行(记录)组成的集合。因此,SQL 支持基于数据行的各种集合运算,包括并集运算(Union)、交集运算(Intersect)和差集运算&a…

chromedriver最新版下载地址

地址1.百度网盘 链接(提取码:2vo3):百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com…

数据很重要,ASM磁盘组损坏,使用AMDU来抢救

欢迎关注“数据库运维之道”公众号,一起学习数据库技术! 本期将为大家分享“数据很重要,ASM磁盘组损坏,使用AMDU来抢救”的处置案例。这个案例对个人来说比较经典,下面我将把自己的处理思路进行整理与总结。 环境信息&#xff1…

STC15系列库中两个自定义函数的更新

一、事件背景 1.出于操作IO口的需求,在LED操作例程当中我在官方库当中添加了两个gpio函数;详见基于STC15系列库操作LED灯-CSDN博客;在新的例程中察觉到两个函数操作的局限性,于是将两个函数内容进行相应修改,使其能适…