我正在尝试使用Pytorch模块的Linear类。在创建该类的实例后,将调用此自动转发方法。任何人都可以从基础上解释我(如果我可以获得pytorch的Linear类的代码,那将是很棒)
from torch.nn mport Linear
model=Linear(in_features=1,out_features=1)
x=torch.tensor([1])
y=model(x)
我无法理解model(x)如何显示结果,根据我的理解,model.forward()应该显示实际结果 如果有人从基础上向我解释会很棒(如果有人可以在pytorch中共享Linear类的代码链接会很棒)
答案 0 :(得分:0)
In the source,您会看到任何__call__
的{{1}}方法依次调用Module
方法,因此在您的情况下调用forward
是种类类似于打电话给model(x)
,但由于解释here的原因而不太准确。
如果您不熟悉model.forward(x)
方法,只需大致了解它就构成了类callable的对象。
这个Pytorch forum post回答了同样的问题。