【问题标题】:What is the difference between `on_validation_epoch_end` and `validation_epoch_end` in Pytorch-lightning?Pytorch-lightning 中的 `on_validation_epoch_end` 和 `validation_epoch_end` 有什么区别?
【发布时间】:2021-07-14 20:37:10
【问题描述】:

LightningModule 中,Pycharm 允许 2 种自动完成方法:

class MyModel(LightningModule):

    def on_validation_epoch_end(self):

    def validation_epoch_end(self, outs):

on_validation_epoch_endhooks.py 中引用

def on_validation_epoch_end(self) -> None:
    """
    Called in the validation loop at the very end of the epoch.
    """
    # do something when the epoch ends

validation_epoch_end 调用 evaluation_loop.py 作为 eval_results = model.validation_epoch_end(eval_results) 导致 __run_eval_epoch_end


每个人的目的是什么?

我只能假设一个已被弃用。找不到任何相关文档。

【问题讨论】:

    标签: python pytorch pytorch-lightning


    【解决方案1】:

    Here 是一个伪代码,显示何时调用钩子,我认为它非常明确地表明你是对的:这两个函数是多余的(字面意思是在同一个地方用相同的参数调用),我会说 validation_epoch_end 是这里被弃用的,因为文档中没有提到它,而钩子(on_event_start/end 的形式)被广泛解释

    【讨论】:

      猜你喜欢
      • 2022-08-14
      • 2020-10-29
      • 2019-12-23
      • 2018-09-13
      • 2021-09-17
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多