title: I get this error using PyTorch: RuntimeError: gather_out_cpu(): Expected dtype int64 for index
body: <p>I'm trying to make an AI with PyTorch, but I get this error:</p>
  <pre><code>RuntimeError: gather_out_cpu(): Expected dtype int64 for index
  </code></pre>
  <p>And this is my function:</p>
  <pre><code>def learn(self, batch_state, batch_next_state, batch_reward, batch_action):
      outputs = self.model(batch_state).gather(1, batch_action.unsqueeze(1)).squeeze(1)
      next_outputs = self.model(batch_next_state).detach().max(1)[0]
      target = self.gamma * next_outputs + batch_reward
      td_loss = F.smooth_l1_loss(outputs, target)
      self.optimizer.zero_grad()
      td_loss.backward(retain_variables = True)
      self.optimizer.step()
  </code></pre>