Код получен из реализации нейронной сети с нуля в python, вы можете проверить полный код на этом связь, если хотите, и здесь критически важная часть, касающаяся моего вопроса, который, я надеюсь, ориентирован на python:
class model:
def __init__(self,blah blah...):
blah blah
def forward(self,x):
blah blah
return output_of_neural_network
def __call__(self,x):
return forward(x)
Предполагая, что мы хотим использовать метод пересылки в следующей части нашего кода...
Какова цель вызова класса как функции, например. model(xtrain)
вместо model.forward(xtrain)
?
Существуют ли какие-либо функциональные различия, связанные с экземпляром или переменными объекта класса, когда он вызывается как функция вместо прямого применения его метода?
Это, как вы думали, чистый синтаксический сахар без каких-либо функциональных различий.
Я предполагаю, что причина этого заключается в том, что вы думаете о своем Model
как о преобразовании входных данных. Это, я считаю, scikit-learn
решает сделать с помощью своего transform
метода, который, возможно, менее двусмыслен.