torch.as_strided
torch.as_strided(input, size, stride, storage_offset=None) -> Tensor
Create a view of an existing torch.Tensor "input" with specified
   "size", "stride" and "storage_offset".
Warning:
 Prefer using other view functions, like "torch.Tensor.expand()",
 to setting a view's strides manually with *as_strided*, as this
 function's behavior depends on the implementation of a tensor's
 storage. The constructed view of the storage must only refer to
 elements within the storage or a runtime error will be thrown,
 and if the view is "overlapped" (with multiple indices referring
 to the same element in memory) its behavior is undefined.

Parameters:
      * input (Tensor) -- the input tensor.
  * **size** (*tuple** or **ints*) -- the shape of the output
    tensor

  * **stride** (*tuple** or **ints*) -- the stride of the output
    tensor

  * **storage_offset** (*int**, **optional*) -- the offset in the
