在LightningModule
中,Pycharm允许两个自动完成的方法:
class MyModel(LightningModule):
def on_validation_epoch_end(self):
def validation_epoch_end(self, outs):
在on_validation_epoch_end
中引用hooks.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
为通向__run_eval_epoch_end
的eval_results = model.validation_epoch_end(eval_results)
。
每一种方法的目的是什么?
我只能假设其中一个是反对的。找不到任何相关的文档。
发布于 2021-04-21 09:34:54
这里是一个伪代码,它显示何时调用钩子,我认为它非常明确地表明您是正确的:这两个函数是多余的(实际上是在同一个地方调用的,具有相同的参数),我想说的是,validation_epoch_end
在这里被认为是不推荐的,因为它在文档中没有提到,而钩子(形式的on_event_start/end
)得到了广泛的解释。
https://stackoverflow.com/questions/67182475
复制相似问题