Fold
class torch.nn.Fold(output_size, kernel_size, dilation=1, padding=0, stride=1)
Combines an array of sliding local blocks into a large containing
   tensor.
Consider a batched "input" tensor containing sliding local blocks,
   e.g., patches of images, of shape (N, C \times
   \prod(\text{kernel_size}), L), where N is batch dimension, C
   \times \prod(\text{kernel_size}) is the number of values within a
   block (a block has \prod(\text{kernel_size}) spatial locations
   each containing a C-channeled vector), and L is the total number of
   blocks. (This is exactly the same specification as the output shape
   of "Unfold".) This operation combines these local blocks into the
   large "output" tensor of shape (N, C, \text{output_size}[0],
   \text{output_size}[1], \dots) by summing the overlapping values.
   Similar to "Unfold", the arguments must satisfy
  L = \prod_d \left\lfloor\frac{\text{output\_size}[d] + 2 \times
  \text{padding}[d] %     - \text{dilation}[d] \times
