【发布时间】:2021-03-31 22:03:50
【问题描述】:
我注意到 Pytorch Lightning 的文档中提到,您可以通过调用 self(x) 从同一类中的另一个方法调用 forward 方法。我无法找到有关其工作原理的任何信息。我一直以为你会用self.forward调用方法
显然,它调用了 forward 方法,但是如何调用呢?有没有关于发生了什么的 python 文档?
我在以下网址找到了这个: https://pytorch-lightning.readthedocs.io/en/stable/new-project.html
具体的代码片段是这样的:
def training_step(self, batch, batch_idx):
...
z = self(x)
【问题讨论】:
-
只是调用了对象的
__call__方法 -
你应该意识到
f(*args, **kwargs)和f.__call__(*args, **kwargs)是一样的:)
标签: python pytorch pytorch-lightning