MaxUnpool1d
-
class torch.nn.MaxUnpool1d(kernel_size, stride=None, padding=0)[source] -
Вычисляет частичное обратное преобразование к
MaxPool1d.MaxPool1dне является полностью обратимой операцией, так как не максимальные значения теряются.MaxUnpool1dпринимает на вход результат работыMaxPool1d, включая индексы максимальных значений, и вычисляет частичное обратное преобразование, где все не максимальные значения устанавливаются в ноль.Примечание
Данная операция может давать недетерминированные результаты, если входные индексы содержат повторяющиеся значения. См. https://github.com/pytorch/pytorch/issues/80827 и Воспроизводимость для получения дополнительной информации.
Примечание
MaxPool1dможет отображать несколько входных размеров на одинаковые выходные размеры. Поэтому процесс обратного преобразования может быть неоднозначным. Для решения этой проблемы можно предоставить необходимый выходной размер в качестве дополнительного аргументаoutput_sizeв вызове метода. См. входные данные и пример ниже.- Параметры
- Входные данные:
-
-
input: входной тензор для обратного преобразования -
indices: индексы, возвращаемые операциейMaxPool1d -
output_size(необязательно): целевой размер выходного тензора
-
- Форма:
-
- Вход: или .
-
Выход: или , где
или как задано в
output_sizeв операторе вызова
Пример:
>>> pool = nn.MaxPool1d(2, stride=2, return_indices=True) >>> unpool = nn.MaxUnpool1d(2, stride=2) >>> input = torch.tensor([[[1., 2, 3, 4, 5, 6, 7, 8]]]) >>> output, indices = pool(input) >>> unpool(output, indices) tensor([[[ 0., 2., 0., 4., 0., 6., 0., 8.]]]) >>> # Example showcasing the use of output_size >>> input = torch.tensor([[[1., 2, 3, 4, 5, 6, 7, 8, 9]]]) >>> output, indices = pool(input) >>> unpool(output, indices, output_size=input.size()) tensor([[[ 0., 2., 0., 4., 0., 6., 0., 8., 0.]]]) >>> unpool(output, indices) tensor([[[ 0., 2., 0., 4., 0., 6., 0., 8.]]])
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.nn.MaxUnpool1d.html