pypto.arange#

产品支持情况#

产品

是否支持

Ascend 950PR/Ascend 950DT

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

功能说明#

创建长度为\(\left\lceil \frac{\text{end} - \text{start}}{\text{step}} \right\rceil\)的一维Tensor,包含区间 [start, end) 内、以 step 为步长的等差数列。

函数原型#

arange(start: Union[int, float] = 0, end: Union[int, float], step: Union[int, float] = 1) -> Tensor

参数说明#

参数名

输入/输出

说明

start

输入

源操作数。
支持的数据类型为:DT_FP16,DT_BF16,DT_INT16,DT_INT32,DT_FP32。
默认值为 0。

end

输入

源操作数。
支持的数据类型为:DT_FP16,DT_BF16,DT_INT16,DT_INT32,DT_FP32。
该参数不能省略。

step

输入

源操作数。
支持的数据类型为:DT_FP16,DT_BF16,DT_INT16,DT_INT32,DT_FP32。
默认值为 1。

返回值说明#

返回一维输出Tensor,若输入值存在float数据类型,则输出Tensor数据类型为float,否则为int。

约束说明#

  1. step不能为0,作为浮点数,abs(step)>1e-8;

  2. (end-start)/step需大于0;

  3. 如果 start, end, step 均为 int 输入,则三者均不能超出 int32 范围

调用示例#

TileShape设置示例#

调用该operation接口前,应通过set_vec_tile_shapes设置TileShape。

TileShape和输出output维度一致,均为一维。

如输入start为m,end为n, step为p, 输出shape为[q], TileShape设置为[q1], 则q1分别用于切分q轴。

pypto.set_vec_tile_shapes(16)

接口调用示例#

y1 = pypto.arange(1.0, 4.0, 0.5)
y2 = pypto.arange(1.0, 4.0)
y3 = pypto.arange(4)

结果示例如下:

输出数据y1: [1.0, 1.5, 2.0, 2.5, 3.0, 3.5]
输出数据y2: [1.0, 2.0, 3.0]
输出数据y3: [0, 1, 2, 3]