Мне нужно выполнить предварительную или постобработку после вызова переадресации. Даже если нет дополнительной обработки, я хочу перемотать вперед, чтобы переопределить 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
будет работать, как ожидалось) ? Есть ли лучший способ сделать это?