Я сделал код для решения проблемы Atari Breakout. У меня небольшая проблема, но я не могу сказать, что это.
Вот код
Это проблема с памятью воспроизведения.
try:
next_states = torch.tensor(batch[3], dtype=torch.float32)
except:
import ipdb; ipdb.set_trace()
Проблема в том, где эти строки. set_trace()
используется для всплывающей интерактивной оболочки. Оттуда, если я запускаю for i in range(batch_size): print(batch[3][i].shape)
, я получаю этот вывод
ipdb> for i in range(32): print(batch[3][i].shape)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
(4, 84, 84)
*** AttributeError: 'NoneType' object has no attribute 'shape'
Как я могу улучшить этот код, чтобы избежать такой ошибки?