follows. Consider "Fold" and "Unfold" instances created with the
     same parameters:
 >>> fold_params = dict(kernel_size=..., dilation=..., padding=..., stride=...)
 >>> fold = nn.Fold(output_size=..., **fold_params)
 >>> unfold = nn.Unfold(**fold_params)

 Then for any (supported) "input" tensor the following equality
 holds:

    fold(unfold(input)) == divisor * input

 where "divisor" is a tensor that depends only on the shape and
 dtype of the "input":

 >>> input_ones = torch.ones(input.shape, dtype=input.dtype)
 >>> divisor = fold(unfold(input_ones))

 When the "divisor" tensor contains no zero elements, then "fold"
 and "unfold" operations are inverses of each other (up to
 constant divisor).

Warning:
 Currently, only 4-D input tensors (batched image-like tensors)
 are supported.

Shape:
      * Input: (N, C, *)
  * Output: (N, C \times \prod(\text{kernel\_size}), L) as
    described above

Examples: