Spec-Zone.ru › PyTorch 1

MaxUnpool1d

class torch.nn.MaxUnpool1d(kernel_size, stride=None, padding=0) [source]

Вычисляет частичное обратное преобразование MaxPool1d.

MaxPool1d не является полностью обратимой, так как не максимальные значения теряются.

MaxUnpool1d принимает на вход результат работы MaxPool1d, включая индексы максимальных значений, и вычисляет частичное обратное преобразование, в котором все не максимальные значения устанавливаются в ноль.

Примечание

MaxPool1d может отображать несколько входных размеров на одни и те же выходные размеры. Следовательно, процесс обратного преобразования может стать неоднозначным. Чтобы учесть это, вы можете указать необходимый выходной размер в качестве дополнительного аргумента output_size в вызове forward. См. Входные данные и пример ниже.

Параметры:
  • kernel_size (int или tuple) – Размер окна максимального пулинга.
  • stride (int или tuple) – Шаг окна максимального пулинга. По умолчанию он равен kernel_size.
  • padding (int или tuple) – Заполнение, которое было добавлено к входным данным.
Входные данные:
  • input: входной тензор для обратного преобразования
  • indices: индексы, полученные из MaxPool1d
  • output_size (необязательно): целевой размер выходных данных
Форма:
  • Вход: (N,C,Hin)(N, C, H_{in}) или (C,Hin)(C, H_{in}).
  • Выход: (N,C,Hout)(N, C, H_{out}) или (C,Hout)(C, H_{out}), где

    Hout=(Hin−1)×stride[0]−2×padding[0]+kernel_size[0]H_{out} = (H_{in} - 1) \times \text{stride}[0] - 2 \times \text{padding}[0] + \text{kernel\_size}[0]

    или как указано в 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/1.13/generated/torch.nn.MaxUnpool1d.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API