SoftmaxOperation

功能

Softmax是一种归一化激活函数,可以将Tensor(张量)的某个或多个维度数据归一化,对应维度上每一个元素的范围都在(0, 1)之间并且和为1。

图1 SoftmaxOperation

计算公式

使用场景

通常作为模型的最后一层,例如在Transformer模型中将Self-Attention的K、Q进行softmax,获取相应的相关性。

硬件支持情况

硬件型号

支持情况

特殊说明

Atlas 200I/500 A2 推理产品

支持

仅支持float16数据类型。

Atlas 推理系列产品

支持

-

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

支持

-

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

支持

-

定义

1
2
3
4
struct SoftmaxParam {
    SVector<int64_t> axes;
    uint8_t rsv[8] = {0};
};

参数列表

成员名称

类型

默认值

描述

axes

SVector<int64_t>

-

指定轴(维度),axes可以支持多个轴上进行处理。

  • axes不能为空,当指定多个轴时,多个轴之间必须连续且从小到大排列。
  • axes的元素要求大于或等于-1且小于输入x的维度。

rsv[8]

uint8_t

{0}

预留参数。

输入

参数

维度

数据类型

格式

描述

x

[dim_0, dim_1, ..., dim_n]

float16/float/bf16

ND

输入tensor。

输出

参数

维度

数据类型

格式

描述

output

[dim_0, dim_1, ..., dim_n]

float16/float/bf16

ND

输出tensor。维度和数据类型与输入tensor一致

功能列表