I’m implementing a deep Q learning algorithm and get the following error when running my code from the command line:
TypeError: mul() received an invalid combination of arguments - got (NoneType), but expected one of:
 * (Tensor other)
      didn't match because some of the arguments have invalid types: (NoneType)
 * (float other)
      didn't match because some of the arguments have invalid types: (NoneType)

The line in question is:
expected_values = next_state_vals * gamma + rewards_t
gamma is a scalar value, and printing next_state_vals.type() and rewards_t.type() show they are both torch.FloatTensor. Printing both tensors confirms this as well.
For some additional context, the preceding lines are as follows with rewards and next_states both as numpy arrays.
rewards_t = torch.FloatTensor(rewards).to(device)
next_states = torch.FloatTensor(next_states).to(device)
next_state_vals = target_network(next_states).max(1)[0]
next_state_vals = next_state_vals.detach()
expected_values = next_state_vals * gamma + rewards_t

Any help would be greatly appreciated!