Pytorch Lightning 框架运行顺序

之前学习Lightning在打断点debug的时候一直不懂为什么trainer.fit()之后就开始运行了 其中的hooks 什么的概念也不理解 在看了若干文章后大致理解其中顺序。如有错误请斧正。
Hooks: 实际就是lighting框架的运行顺序, train阶段的运行顺序大致如下(其中的函数都可以重写):

python 复制代码
def fit(self):
    configure_callbacks()

    if local_rank == 0:
        prepare_data()

    setup("fit")
    configure_model()
    configure_optimizers()

    on_fit_start()

    # the sanity check runs here

    on_train_start()
    for epoch in epochs:
        fit_loop()
    on_train_end()

    on_fit_end()
    teardown("fit")

需要注意的是:

  1. the sanity check runs here 这行注释 lighting会先执行validation_step() 跑两个batch 进行检查。(之前一直不懂为什么train的时候先执行validation)
  2. prepare_data() 和 setup() 这两个function 在Data的class里重写 其余的在model的class里重写。
相关推荐
充值修改昵称11 分钟前
数据结构基础:B树磁盘IO优化的数据结构艺术
数据结构·b树·python·算法
C系语言12 分钟前
python用pip生成requirements.txt
开发语言·python·pip
william_djj14 分钟前
python3.8 提取xlsx表格内容填入单个文件
windows·python·xlsx
市象17 分钟前
字节AI撒“豆”成兵
人工智能
kszlgy5 小时前
Day 52 神经网络调参指南
python
wrj的博客7 小时前
python环境安装
python·学习·环境配置
康康的AI博客7 小时前
腾讯王炸:CodeMoment - 全球首个产设研一体 AI IDE
ide·人工智能
中达瑞和-高光谱·多光谱7 小时前
中达瑞和LCTF:精准调控光谱,赋能显微成像新突破
人工智能
mahtengdbb17 小时前
【目标检测实战】基于YOLOv8-DynamicHGNetV2的猪面部检测系统搭建与优化
人工智能·yolo·目标检测
Pyeako7 小时前
深度学习--BP神经网络&梯度下降&损失函数
人工智能·python·深度学习·bp神经网络·损失函数·梯度下降·正则化惩罚