当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch empty_strided用法及代码示例


本文简要介绍python语言中 torch.empty_strided 的用法。

用法:

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

参数

  • size(python的元组:ints) -输出张量的形状

  • stride(python的元组:ints) -输出张量的步幅

关键字参数

  • dtype(torch.dtype, 可选的) -返回张量的所需数据类型。默认值:如果 None ,使用全局默认值(参见 torch.set_default_tensor_type() )。

  • layout(torch.layout, 可选的) -返回张量的所需布局。默认值:torch.strided

  • device(torch.device, 可选的) -返回张量的所需设备。默认值:如果 None ,使用当前设备作为默认张量类型(参见 torch.set_default_tensor_type() )。 device 将是 CPU 张量类型的 CPU 和 CUDA 张量类型的当前 CUDA 设备。

  • requires_grad(bool,可选的) -如果 autograd 应该在返回的张量上记录操作。默认值:False

  • pin_memory(bool,可选的) -如果设置,返回的张量将被分配到固定内存中。仅适用于 CPU 张量。默认值:False

返回一个充满未初始化数据的张量。张量的形状和步幅分别由变量参数sizestride 定义。 torch.empty_strided(size, stride) 等同于 torch.empty(size).as_strided(size, stride)

警告

创建的张量的多个元素可能引用单个内存位置。因此,就地操作(尤其是矢量化的操作)可能会导致不正确的行为。如果您需要写入张量,请先克隆它们。

例子:

>>> 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])

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.empty_strided。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。