接口功能:计算输入的scale和bias的结果。
计算公式:
若不输入bias,则
若输入bias,则
说明:scale/bias支持跟X的broadcast,scale/bias的shape规则如下
当scaleFromBlob为True时(axis转换为正数,numAxes为-1时表示到最后轴):
scaleShape为xShape[axis:axis + numAxes]
biasShape为xShape[axis:axis + numAxes]
当scaleFromBlob为False时(axis转换为正数, numAxes为-1时表示到最前轴):
scaleShape为xShape[axis:axis + rank(scaleShape)]
biasShape为xShape[axis:axis + rank(scaleShape)]
示例:
scaleFromBlob = True:
xShape = [a, b, c, d, e, f] axis = 3 numAxes = 2 --> scaleShape = [d, e]
xShape = [a, b, c, d, e, f] axis = 3 numAxes = 3 --> scaleShape = [d, e, f]
xShape = [a, b, c, d, e, f] axis = 3 numAxes = -1 --> scaleShape = [d, e, f]
scaleFromBlob = False:
xShape = [a, b, c, d, e, f] axis = 3 rank(scaleShape) = 2 --> scaleShape = [d, e]
xShape = [a, b, c, d, e, f] axis = 3 rank(scaleShape) = 3 --> scaleShape = [d, e, f]
xShape = [a, b, c, d, e, f] axis = 3 rank(scaleShape) = 1 --> scaleShape = [d]
每个算子分为,必须先调用“aclnnScaleGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnScale”接口执行计算。
- 确定性计算:
- aclnnScale默认确定性实现。