torch.linspace

torch.linspace(start, end, steps, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) Tensor

创建一个大小为steps的一维张量,其值从startend均匀分布(包含起始和结束值)。也就是说,这些值是:

$(\text{start}, \text{start} + \frac{\text{end} - \text{start}}{\text{steps} - 1}, \ldots, \text{start} + (\text{steps} - 2) * \frac{\text{end} - \text{start}}{\text{steps} - 1}, \text{end})$

从 PyTorch 1.11 版本开始,linspace 函数需要指定步骤参数。使用 steps=100 可以恢复之前的默认行为。

参数
  • start (floatTensor) – 点集的起始值。如果为 Tensor 类型,必须是0维的。

  • end (floatTensor) – 结束值。如果为Tensor,必须是0维的。

  • steps (int) – 指定构建的张量的大小

关键字参数
  • out (Tensor, 可选) – 指定输出张量。

  • dtype (torch.dtype, 可选) – 执行计算的数据类型。默认情况下,如果为 None,则在startend 均为实数时使用全局默认数据类型(参见 torch.get_default_dtype()),当其中一个为复数时则使用相应的复数数据类型。

  • layout (torch.layout, 可选) - 指定返回张量的布局。默认值为 torch.strided

  • device (torch.device, 可选) – 返回张量所需的设备。默认情况下,如果未指定 None,则使用当前的默认张量类型设备(参见torch.set_default_device())。对于 CPU 张量类型,默认为 CPU 设备;对于 CUDA 张量类型,则为当前的 CUDA 设备。

  • requires_grad (bool, optional) – 是否启用自动求导记录返回的张量上的操作。默认值:False

示例:

>>> torch.linspace(3, 10, steps=5)
tensor([  3.0000,   4.7500,   6.5000,   8.2500,  10.0000])
>>> torch.linspace(-10, 10, steps=5)
tensor([-10.,  -5.,   0.,   5.,  10.])
>>> torch.linspace(start=-10, end=10, steps=5)
tensor([-10.,  -5.,   0.,   5.,  10.])
>>> torch.linspace(start=-10, end=10, steps=1)
tensor([-10.])
本页目录