在根据状态获取一个动作:self.eval_net.forward(state)
在更新网络时:self.eval_net(state)
这2个有什么区别呀,为啥不都是forward
我打印了一下返回值的时候,我感觉格式是一样的
action_value= tensor([[0.7177, 0.7369, 0.7124, 0.8184]], grad_fn=<AddmmBackward0>)
eval_net(state)= tensor([[0.7190, 0.7511, 0.7002, 0.8192],
[0.5330, 0.5235, 0.3537, 0.5223],
....
[0.7190, 0.7511, 0.7002, 0.8192]], grad_fn=<AddmmBackward0>)
在pytorch中,self.eval_net.forward(state)和self.eval_net.forward(state)是等价的
参考:Pytorch 中的 forward理解 - 知乎前言我们在使用Pytorch的时候,模型训练时,不需要调用forward这个函数,只需要在实例化一个对象中传入对应的参数就可以自动调用 forward 函数。 class Module(nn.Module): def __init__(self): super().__init__(…https://zhuanlan.zhihu.com/p/357021687