Я пытаюсь понять unpooling в Pytorch, потому что я хочу построить сверточный авто-кодировщик.
У меня есть следующий код
from torch.autograd import Variable
data = Variable(torch.rand(1, 73, 480))
pool_t = nn.MaxPool2d(2, 2, return_indices=True)
unpool_t = nn.MaxUnpool2d(2, 2)
out, indices1 = pool_t(data)
out = unpool_t(out, indices1)
Но я постоянно получаю эту ошибку в последней строке (отмена).
IndexError: tuple index out of range
Хотя в этом примере моделируются данные, входные данные должны иметь такую форму из-за предварительной обработки, которая должна быть выполнена.
Я довольно новичок в сверточных сетях, но я даже пытался использовать ReLU и сверточный 2D-слой перед пулированием, однако индексы всегда кажутся неправильными при разгрузке для этой фигуры.