the input
Inputs:
      * input: the input Tensor to invert
  * *indices*: the indices given out by "MaxPool1d"

  * *output_size* (optional): the targeted output size

Shape:
      * Input: (N, C, H_{in}) or (C, H_{in}).
  * Output: (N, C, H_{out}) or (C, H_{out}), where

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

    or as given by "output_size" in the call operator

Example:
  >>> 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)
