5.pytorch lightning之快速调试

调试代码

此阶段主要测试各阶段代码是否有问题。

快速测试

fast_dev_run项可以配置train/val/test阶段的循环次数,跑完就停止代码,快速查看各流程代码正确性,避免train调试后训练又在val/test阶段出错,白白浪费时间和计算成本。

Trainer(fast_dev_run=7)# 每个阶段只循环7次,也可以设置为True,只循环5次。

使用部分数据测试

功能与上面类似,但是运行指定epochs的周期过程,只是train/val/test流程使用部分数据。

# 使用10%训练集 和 1% 验证集
trainer = Trainer(limit_train_batches=0.1, limit_val_batches=0.01)

# use 10 batches of train and 5 batches of val
trainer = Trainer(limit_train_batches=10, limit_val_batches=5)

validation_step()提前检查

设置num_sanity_val_steps,lightning会在开始训练前默认先执行再次validation_step,避免训练后验证阶段出错。

trainer = Trainer(num_sanity_val_steps=2)

打印网络模型信息

调用train.fit()后,lightning会自动打印模型信息,如下:

  | Name  | Type        | Params
----------------------------------
0 | net   | Sequential  | 132 K
1 | net.0 | Linear      | 131 K
2 | net.1 | BatchNorm1d | 1.0 K

也可以利用内置的callback ModelSummary打印子模块的信息。需要配置好callback后传入Trainer。

trainer = Trainer(callbacks=[ModelSummary(max_depth=-1)])# 打印深度为所有。

打印各模块输入输出的尺寸

在LightningModule中设置example_input_array属性

class LitModel(LightningModule):
    def __init__(self, *args, **kwargs):
        self.example_input_array = torch.Tensor(32, 1, 28, 28)
  | Name  | Type        | Params | In sizes  | Out sizes
--------------------------------------------------------------
0 | net   | Sequential  | 132 K  | [10, 256] | [10, 512]
1 | net.0 | Linear      | 131 K  | [10, 256] | [10, 512]
2 | net.1 | BatchNorm1d | 1.0 K  | [10, 512] | [10, 512]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyTorch Lightning是一个用于PyTorch的轻量级高级训练框架,它旨在简化和加速深度学习模型的训练过程。与原始的PyTorch相比,PyTorch Lightning提供了更高级的抽象和自动化,使得训练过程更加简单和高效。\[1\] 如果你在调试PyTorch项目时遇到了繁琐的细节,那么尝试使用PyTorch Lightning可能会是一个不错的选择。它可以帮助你快速实践深度学习模型,并从PyTorch项目中快速转换到Lightning风格。此外,PyTorch Lightning还提供了一些方便的功能,如自动分布式训练、自动调整学习率和自动保存模型等。\[1\] 关于PyTorch Lightning的安装,你可以参考官方文档提供的安装指南。首先,确保你的Python版本符合PyTorch Lightning的前置条件。然后,你可以使用pip或conda安装PyTorch Lightning。具体的安装步骤可以在PyTorch Lightning的GitHub页面或官方文档中找到。\[2\] 总之,PyTorch Lightning是一个强大而简单的工具,可以帮助你更轻松地训练深度学习模型。它提供了高级的抽象和自动化,使得模型训练变得更加简单和高效。如果你想简化PyTorch项目的调试过程,不妨尝试一下PyTorch Lightning。\[3\] #### 引用[.reference_title] - *1* [pytorch lightning](https://blog.csdn.net/CsdnWujinming/article/details/129949205)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [pytorch-lightning入门(一)—— 初了解](https://blog.csdn.net/u014264373/article/details/117021901)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [# pytorch_lighting](https://blog.csdn.net/qq_38195610/article/details/130588249)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值