pypto.floor_div#
产品支持情况#
Ascend 950PR/Ascend 950DT:支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
功能说明#
将input的每个元素除以other中对应位置的元素并向下取整,计算公式如下:
函数原型#
floor_div(input: Tensor, other: Union[Tensor, int, float]) -> Tensor
参数说明#
返回值说明#
返回输出Tensor,Tensor的数据类型和input、other相同,Shape为input和other广播后大小。
约束说明#
input和other数据类型应该相同。
支持多维度广播。
Tensor数据类型说明:
Ascend 950PR/Ascend 950DT:DT_FP16、DT_BF16、DT_FP32、DT_INT32、DT_INT8、DT_UINT8、DT_INT64。
Atlas A3 训练系列产品/Atlas A3 推理系列产品:DT_FP16、DT_BF16、DT_FP32、DT_INT32、DT_INT8、DT_UINT8。
Atlas A2 训练系列产品/Atlas A2 推理系列产品:DT_FP16、DT_BF16、DT_FP32、DT_INT32、DT_INT8、DT_UINT8。
Tensor类型输入不支持
TileOpFormat.TILEOP_NZ格式。
调用示例#
TileShape设置示例#
调用该operation接口前,应通过set_vec_tile_shapes设置TileShape。
TileShape维度应和输出一致。
如非广播场景,输入input shape为[m, n],other为[m, n],输出为[m, n],TileShape设置为[m1, n1],则m1,n1分别用于切分m,n轴。
广播场景,输入input shape为[m, n],other为[m, 1],输出为[m, n],TileShape设置为[m1, n1],则m1,n1分别用于切分m,n轴。
pypto.set_vec_tile_shapes(4, 16)
接口调用示例#
a = pypto.tensor([1, 3], pypto.DT_INT32)
b = pypto.tensor([1, 3], pypto.DT_INT32)
out = pypto.floor_div(a, b)
结果示例如下:
输入数据a: [[2 4 6]]
输入数据b: [[4 2 5]]
输出数据out: [[0 2 1]]