# tensorplay.functional.as_strided Source: https://www.tensorplay.cn/docs/generated/tensorplay.functional.as_strided.html ```python tensorplay.functional.as_strided(input, size, stride, storage_offset=None) → Tensor ``` Create a view of an existing tensorplay.Tensor input with specified size, stride and storage_offset. > **Warning** > > Prefer using other view functions, like tensorplay.Tensor.view() or tensorplay.Tensor.expand(), to setting a view’s strides manually with as_strided, as this function will throw an error on non-standard Pytensorplay backends (that do not have a concept of stride) and the result will depend on the current layout in memory. The constructed view must only refer to elements within the Tensor’s storage or a runtime error will be thrown. If the generated view is “overlapped” (with multiple indices referring to the same element in memory), the behavior of inplace operations on this view is undefined (and might not throw runtime errors). Parameters: - input ([Tensor](/docs/generated/tensorplay.Tensor.html#tensorplay.Tensor)) – the input tensor. - size ([tuple](https://docs.python.org/3/builtins/stdtypes.html#tuple) or ints) – the shape of the output tensor - stride ([tuple](https://docs.python.org/3/builtins/stdtypes.html#tuple) or ints) – the stride of the output tensor - storage_offset ([int](https://docs.python.org/3/builtins/functions.html#int), optional) – the offset in the underlying storage of the output tensor. If None, the storage_offset of the output tensor will match the input tensor. Example: ``` >>> x = tensorplay.randn(3, 3) >>> x tensor([[ 0.9039, 0.6291, 1.0795], [ 0.1586, 2.1939, -0.4900], [-0.1909, -0.7503, 1.9355]]) >>> t = tensorplay.as_strided(x, (2, 2), (1, 2)) >>> t tensor([[0.9039, 1.0795], [0.6291, 0.1586]]) >>> t = tensorplay.as_strided(x, (2, 2), (1, 2), 1) tensor([[0.6291, 0.1586], [1.0795, 2.1939]]) ```