torch.empty_strided
-
torch.empty_strided(size, stride, *, dtype=None, layout=None, device=None, requires_grad=False, pin_memory=False) → Tensor
-
Returns a tensor filled with uninitialized data. The shape and strides of the tensor is defined by the variable argument
size
andstride
respectively.torch.empty_strided(size, stride)
is equivalent totorch.empty(size).as_strided(size, stride)
.Warning
More than one element of the created tensor may refer to a single memory location. As a result, in-place operations (especially ones that are vectorized) may result in incorrect behavior. If you need to write to the tensors, please clone them first.
- Parameters
-
- size (tuple of python:ints) – the shape of the output tensor
- stride (tuple of python:ints) – the strides of the output tensor
- Keyword Arguments
-
-
dtype (
torch.dtype
, optional) – the desired data type of returned tensor. Default: ifNone
, uses a global default (seetorch.set_default_tensor_type()
). -
layout (
torch.layout
, optional) – the desired layout of returned Tensor. Default:torch.strided
. -
device (
torch.device
, optional) – the desired device of returned tensor. Default: ifNone
, uses the current device for the default tensor type (seetorch.set_default_tensor_type()
).device
will be the CPU for CPU tensor types and the current CUDA device for CUDA tensor types. -
requires_grad (bool, optional) – If autograd should record operations on the returned tensor. Default:
False
. -
pin_memory (bool, optional) – If set, returned tensor would be allocated in the pinned memory. Works only for CPU tensors. Default:
False
.
-
dtype (
Example:
>>> a = torch.empty_strided((2, 3), (1, 2)) >>> a tensor([[8.9683e-44, 4.4842e-44, 5.1239e+07], [0.0000e+00, 0.0000e+00, 3.0705e-41]]) >>> a.stride() (1, 2) >>> a.size() torch.Size([2, 3])
© 2019 Torch Contributors
Licensed under the 3-clause BSD License.
https://pytorch.org/docs/1.8.0/generated/torch.empty_strided.html