Training without GAE

This commit is contained in:
Shangtong Zhang
2018-02-03 16:46:53 -07:00
parent e91ec3be45
commit b6436186ea
3 changed files with 9 additions and 4 deletions
+5 -2
View File
@@ -103,8 +103,11 @@ class A2CAgent:
actions = self.network.tensor(actions, torch.LongTensor).unsqueeze(1)
next_value = rollout[i + 1][2]
returns = rewards + config.discount * terminals * returns
td_error = rewards + config.discount * terminals * next_value.data - value.data
advantages = advantages * config.gae_tau * config.discount * terminals + td_error
if config.no_gae:
advantages = returns - value.data
else:
td_error = rewards + config.discount * terminals * next_value.data - value.data
advantages = advantages * config.gae_tau * config.discount * terminals + td_error
processed_rollout[i] = [prob, log_prob, value, actions, returns, advantages]
prob, log_prob, value, actions, returns, advantages = map(lambda x: torch.cat(x, dim=0), zip(*processed_rollout))