def __call__(self, obs):
action_distrib = self.pi(obs)
v = self.v(obs)
def evaluator(action):
adv_mean = sum(self.adv(obs, action_distrib.sample().data)
for _ in range(self.n)) / self.n
return v + self.adv(obs, action) - adv_mean
action_value = SingleActionValue(evaluator)
return action_distrib, action_value, v
评论列表
文章目录