评价此页

torch.arange#

torch.arange(start=0, end, step=1, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) Tensor#

返回一个一维张量,其大小为 endstartstep\left\lceil \frac{\text{end} - \text{start}}{\text{step}} \right\rceil,值取自区间 [start, end),以 start 为起点,公差为 step

注意:使用浮点数据类型(特别是 bfloat16 等精度降低的类型)时,结果可能会受到浮点舍入行为的影响。序列中的某些值可能无法在某些浮点格式中精确表示,这可能导致重复值或意外舍入。对于精确的序列,建议使用整数数据类型而不是浮点数据类型。

请注意,非整数的 step 在与 end 比较时可能会出现浮点舍入误差;为避免不一致,建议在这种情况下从 end 减去一个小的 epsilon 值。

outi+1=outi+step\text{out}_{{i+1}} = \text{out}_{i} + \text{step}
参数
  • start (Number, optional) – 点集的起始值。默认值:0

  • end (Number) – 点集的结束值

  • step (Number, optional) – 每对相邻点之间的间距。默认值:1

关键字参数
  • out (Tensor, optional) – 输出张量。

  • dtype (torch.dtype, 可选) – 返回张量的期望数据类型。默认值:如果为 None,则使用全局默认值(参见 torch.set_default_dtype())。如果未给定 dtype,则从其他输入参数推断数据类型。如果 startendstop 中的任何一个为浮点数,则 dtype 将推断为默认数据类型,参见 get_default_dtype()。否则,dtype 将推断为 torch.int64

  • layout (torch.layout, 可选) – 返回张量的期望布局。默认值:torch.strided

  • device (torch.device, 可选) – 返回张量的期望设备。默认值:如果为 None,则使用默认张量类型的当前设备(参见 torch.set_default_device())。device 对于 CPU 张量类型将是 CPU,对于 CUDA 张量类型将是当前的 CUDA 设备。

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

示例

>>> torch.arange(5)
tensor([ 0,  1,  2,  3,  4])
>>> torch.arange(1, 4)
tensor([ 1,  2,  3])
>>> torch.arange(1, 2.5, 0.5)
tensor([ 1.0000,  1.5000,  2.0000])