在类中调用self做什么?

2024-06-02 12:41:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我注意到Pytorch Lightning的文档中提到,您可以通过调用self(x)从同一类中的另一个方法调用forward方法。我还没有找到任何关于这是如何工作的信息。我一直以为您会使用self.forward调用该方法

显然,它调用forward方法,但如何调用呢?是否有关于发生了什么的python文档

我在以下URL中找到此文件: https://pytorch-lightning.readthedocs.io/en/stable/new-project.html

具体代码片段如下所示:

def training_step(self, batch, batch_idx):
    ...
    z = self(x)

Tags: 文件方法文档httpsioself信息url
1条回答
网友
1楼 · 发布于 2024-06-02 12:41:06

一般来说,在python中,当“调用”对象时,您正在调用它的__call__方法。就是

  self(x)

相当于

  self.__call__(x)

对于pytorchnn.Module(和所有派生类)__call__环绕模块的forward函数,因此,从您的角度来看self(x)基本上是通过模块self转发x

相关问题 更多 >