mirror of
https://github.com/wassname/DeepRL.git
synced 2026-09-11 11:53:01 +08:00
Fix a bug of QR DQN
This commit is contained in:
@@ -78,8 +78,10 @@ class QuantileRegressionDQNAgent:
|
||||
actions = actions.view(-1, 1, 1).expand(-1, -1, quantiles.size(2))
|
||||
quantiles = quantiles.gather(1, Variable(actions)).squeeze(1)
|
||||
|
||||
diff = Variable(quantiles_next) - quantiles
|
||||
loss = self.huber(diff) * Variable(self.cumulative_density.view(1, -1) - (diff.data < 0).float()).abs()
|
||||
loss = 0.0
|
||||
for i in range(self.config.num_quantiles):
|
||||
diff = Variable(quantiles_next[:, i].contiguous().view(-1, 1)) - quantiles
|
||||
loss += self.huber(diff) * Variable(self.cumulative_density.view(1, -1) - (diff.data < 0).float()).abs()
|
||||
|
||||
self.optimizer.zero_grad()
|
||||
loss.sum(-1).mean().backward()
|
||||
|
||||
Reference in New Issue
Block a user