Pytorch 中线性 class 中的转发方法调用
Forward method calling in Linear class in Pytorch
我正在尝试使用 Pytorch 的线性 class module.In 一旦我创建 class.Can 的实例,就会调用此自动转发方法任何人从基础知识解释我(如果我可以获得 pytorch 的线性代码 class 会很棒)
from torch.nn mport Linear
model=Linear(in_features=1,out_features=1)
x=torch.tensor([1])
y=model(x)
我无法理解模型 (x) 如何显示 result.As 根据我的理解 model.forward() 应该显示实际结果
如果有人从基础知识解释我就太好了(如果有人可以分享 pytorch 中线性 class 代码的 link 就太好了)
In the source, you'll see that the __call__
method of any Module
in turn calls the forward
method, so calling model(x)
in your case is kind of like calling model.forward(x)
, but not exactly, due to the reasons explained here.
如果你不熟悉 __call__
方法,只需要粗略地知道它创建了一个 class callable.
的对象
同样的问题在 Pytorch forum post 中得到了回答。
我正在尝试使用 Pytorch 的线性 class module.In 一旦我创建 class.Can 的实例,就会调用此自动转发方法任何人从基础知识解释我(如果我可以获得 pytorch 的线性代码 class 会很棒)
from torch.nn mport Linear
model=Linear(in_features=1,out_features=1)
x=torch.tensor([1])
y=model(x)
我无法理解模型 (x) 如何显示 result.As 根据我的理解 model.forward() 应该显示实际结果 如果有人从基础知识解释我就太好了(如果有人可以分享 pytorch 中线性 class 代码的 link 就太好了)
In the source, you'll see that the __call__
method of any Module
in turn calls the forward
method, so calling model(x)
in your case is kind of like calling model.forward(x)
, but not exactly, due to the reasons explained here.
如果你不熟悉 __call__
方法,只需要粗略地知道它创建了一个 class callable.
同样的问题在 Pytorch forum post 中得到了回答。