Почему я вижу TypeError, когда функция Pytorch mul () используется в сочетании с numpy? - PullRequest
0 голосов
/ 17 февраля 2019

Я получаю следующую ошибку в терминале:

Traceback (most recent call last):
  File "deep_Q_learner.py", line 289, in <module>
    agent.replay_experience()
  File "deep_Q_learner.py", line 170, in replay_experience
    self.learn_from_batch_experience(experience_batch)
  File "deep_Q_learner.py", line 151, in learn_from_batch_experience
    self.Q_target(next_obs_batch).max(1)[0].data
TypeError: mul(): argument 'other' (position 1) must be Tensor, not numpy.ndarray

Ссылка на код: https://github.com/PacktPublishing/Hands-On-Intelligent-Agents-with-OpenAI-Gym/blob/master/ch6/deep_Q_learner.py

Ошибка видна только когда self.DQN = SLP (см. строку № 76)

Есть ли решение этой проблемы?Я что-то здесь упускаю?

1 Ответ

0 голосов
/ 17 февраля 2019

Как показывает ошибка, вы должны передать объект torch.tensor, где вы передаете объект массива numpy.Преобразуйте ваш массив NumPy в torch.tenosr:

new_torch_tensor = torch.tensor(numpy_array)
...