PyTorch - вызов метода super () super - PullRequest
       8

PyTorch - вызов метода super () super

0 голосов
/ 18 февраля 2019

Какой способ вызова forward() родительского метода Module является наиболее подходящим?Например, если я создаю подкласс модуля nn.Linear, я могу сделать следующее

class LinearWithOtherStuff(nn.Linear):
    def forward(self, x):
        y = super(Linear, self).forward(x)
        z = do_other_stuff(y)
        return z

Однако документы говорят, что не следует вызывать метод forward() напрямую:

Хотя рецепт для прямого прохода должен быть определен внутри этой функции, следует вместо этого вызывать экземпляр модуля, поскольку первый заботится о запуске зарегистрированных хуков, а второй молча игнорирует их.

, что заставляет меня думать, что super(Linear, self).forward(x) может привести к неожиданным ошибкам.Это правда или я неправильно понимаю наследование?

...