pytorch中forward的理解
使用pytorch的时候,模型训练时,不需要使用forward,只要在实例化一个对象中传入对应的参数就可以自动调用 forward 函数
1 class Module(nn.Module): 2 def __init__(self): 3 super(Module, self).__init__() 4 # ...... 5 6 def forward(self, x): 7 # ...... 8 return x 9 10 data = ..... #输入数据 11 # 实例化一个对象 12 module = Module() 13 # 前向传播 14 module(data) 15 # 而不是使用下面的 16 # module.forward(data)
在声明网络架构是,常常使用class RegionProposalNetwork(nn.Module)
,其中nn.Module
中包含了__call__
函数,在函数中调用了forward
,由于继承关系,对于RegionProposalNetwork同样具备__call__
函数的功能。