self.eval_net.forward(state)和self.eval_net.forward(state)区别

Posted 软件工程小施同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了self.eval_net.forward(state)和self.eval_net.forward(state)区别相关的知识,希望对你有一定的参考价值。

在根据状态获取一个动作: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

以上是关于self.eval_net.forward(state)和self.eval_net.forward(state)区别的主要内容,如果未能解决你的问题,请参考以下文章

torch.max(action_value, 1)[1].data.numpy()[0] 是什么意思

torch.max(action_value, 1)[1].data.numpy()[0] 是什么意思

STA chapter7 配置sta环境

STA chapter7 配置sta环境

70. 爬楼梯

STA之RC网