Использование self .__ call__ внутри nn.Module - PullRequest
0 голосов
/ 19 марта 2020

Мне нужно выполнить предварительную или постобработку после вызова переадресации. Даже если нет дополнительной обработки, я хочу перемотать вперед, чтобы переопределить score в AnotherBaseClass:

class Custom(nn.Module, AnotherBaseClass):
    def __init__(self, ...):
        # all init work
        super(Custom, self).__init__()

    def forward(self, input):
        # run forward
        return out

    def score(self, input):
        # override score in AnotherBaseClass
        input = preprocess(input)
        scores = self.__call__(input)
        scores = postprocess(scores)
        return scores

Это правильно (я знаю, что он выполняется, но backward будет работать, как ожидалось) ? Есть ли лучший способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...