reduce_prod
功能说明
按某个轴求乘积,进行降维。
函数原型
reduce_prod(raw_tensor, axis, keepdims=False)
参数说明
- raw_tensor:输入tensor,tvm.tensor类型。
Atlas 200/300/500 推理产品:支持的数据类型有float16、float32
Atlas 训练系列产品:支持的数据类型有float16、float32
Atlas 推理系列产品(Ascend 310P处理器):支持的数据类型有float16、float32、int32
Atlas 200I/500 A2推理产品:支持的数据类型有float16、float32
Atlas A2训练系列产品/Atlas 800I A2推理产品:支持的数据类型有float16、float32
- axis:做reduce操作的轴,取值范围:[-d,d-1],其中d是raw_tensor的维数,int或list类型。
- keepdims:默认值是False,表示做reduce操作后,操作的轴长度为0,例如,原shape是(10,10,10),keepdims=False时,reduce后shape是(10,10)。若将该参数值设置为True,表示做reduce操作后,操作的轴的长度设置为1,例如,原shape是(10,10,10),keepdims=True时,reduce后shape是(10,10,1)。
返回值
res_tensor:按某个轴求乘积后的tensor,tvm.tensor类型。
约束说明
由于计算平台的数据排布限制,reduce操作后的数据需要进行一次重排才能进行后续的操作。当前暂时不能在reduce操作后进行任何向量运算操作。
支持的型号
Atlas 200/300/500 推理产品
Atlas 训练系列产品
Atlas 推理系列产品(Ascend 310P处理器)
Atlas 200I/500 A2推理产品
Atlas A2训练系列产品/Atlas 800I A2推理产品
调用示例
from tbe import tvm from tbe import dsl shape = (1024,1024) input_dtype = "float16" data = tvm.placeholder(shape, name="data", dtype=input_dtype) res = dsl.reduce_prod(data, axis=1)
父主题: Math计算接口