Rate this Page

torch.empty_strided#

torch.empty_strided(size,stride,*,dtype=None,layout=None,device=None,requires_grad=False,pin_memory=False)Tensor#

Creates a tensor with the specifiedsize andstride and filled with undefined data.

Warning

If the constructed tensor is “overlapped” (with multiple indices referring to the same elementin memory) its behavior is undefined.

Note

Iftorch.use_deterministic_algorithms() andtorch.utils.deterministic.fill_uninitialized_memory are both set toTrue, the output tensor is initialized to prevent any possiblenondeterministic behavior from using the data as an input to an operation.Floating point and complex tensors are filled with NaN, and integer tensorsare filled with the maximum value.

Parameters
  • size (tuple ofint) – the shape of the output tensor

  • stride (tuple ofint) – 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_dtype()).

  • 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_device()).device will be the CPUfor CPU tensor types and the current CUDA device for CUDA tensor types.

  • requires_grad (bool,optional) – If autograd should record operations on thereturned tensor. Default:False.

  • pin_memory (bool,optional) – If set, returned tensor would be allocated inthe pinned memory. Works only for CPU tensors. Default:False.

Example:

>>>a=torch.empty_strided((2,3),(1,2))>>>atensor([[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])