在课堂上称呼自己有什么作用?

丹尼·S。

我在Pytorch Lightning的文档中注意到,提到可以通过调用来从同一类中的另一个方法调用forward方法self(x)我尚未找到有关此工作原理的任何信息。我一直以为你会用self.forward

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

我在以下网址找到了这个网址:https : //pytorch-lightning.readthedocs.io/en/stable/new-project.html

具体的代码片段是这样的:

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

一般来说,在python中,“调用”对象时,您正在调用其__call__方法。那是,

  self(x)

相当于

  self.__call__(x)

对于pytorch nn.Module(以及所有派生类),它__call__包装了模块的forward功能,因此,从您的角度来看self(x),基本上是x通过模块转发self

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档