Softmax

Softmax - 13

版本

  • 名称: Softmax (GitHub)

  • : main

  • 起始版本: 13

  • 函数: True

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此版本的运算符自 版本 13 起可用。

摘要

该算子计算给定输入的归一化指数值。

Softmax(input, axis) = Exp(input) / ReduceSum(Exp(input), axis=axis, keepdims=1)

“axis”属性表示 Softmax 将执行的维度。输出张量具有相同的形状,并包含相应输入的 Softmax 值。

属性

  • 轴 - INT(默认值为 '-1'

    描述 Softmax 将在哪个维度上执行。负值表示从后向前计算维度。可接受的范围是 [-r, r-1],其中 r = rank(input)。

输入

  • 输入 (异构) - T

    秩 >= 轴的输入张量。

输出

  • 输出 (异构) - T

    与输入张量具有相同形状的输出值。

类型约束

  • T 在 ( tensor(bfloat16), tensor(double), tensor(float), tensor(float16) )

    将输入和输出类型限制为浮点张量。

Softmax - 11

版本

  • 名称: Softmax (GitHub)

  • : main

  • 起始版本: 11

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此版本的运算符自 版本 11 起可用。

摘要

该算子计算给定输入批次中每个层的 softmax(归一化指数)值。

输入不需要显式为 2D 向量;相反,它将被强制转换为 2D 向量。对于任意 n 维张量输入 \in [a_0, a_1, …, a_{k-1}, a_k, …, a_{n-1}],其中 k 是提供的 axis,则输入将被强制转换为具有维度 [a_0 * … * a_{k-1}, a_k * … * a_{n-1}] 的 2 维张量。对于默认情况 axis=1,这意味着输入张量将被强制转换为维度为 [a_0, a_1 * … * a_{n-1}] 的 2D 张量,其中 a_0 通常是批次大小。在这种情况下,我们必须有 a_0 = N 且 a_1 * … * a_{n-1} = D。这些维度中的每一个都必须正确匹配,否则算子将抛出错误。输出张量具有相同的形状,并包含相应输入的 softmax 值。

属性

  • 轴 - INT(默认值为 '1'

    描述输入在强制转换为二维时所沿的轴;默认为 1,因为第 0 个轴最可能描述批次大小。负值表示从后向前计数维度。接受的范围是 [-r, r-1],其中 r = rank(input)。

输入

  • 输入 (异构) - T

    如上所述,被强制转换为大小为 (NxD) 的二维矩阵的输入张量。

输出

  • 输出 (异构) - T

    与输入张量具有相同形状的输出值(未经强制转换的原始大小)。

类型约束

  • T 在 ( tensor(double), tensor(float), tensor(float16) )

    将输入和输出类型限制为浮点张量。

Softmax - 1

版本

  • 名称: Softmax (GitHub)

  • : main

  • 起始版本: 1

  • 函数: False

  • 支持级别: SupportType.COMMON

  • 形状推断: True

此版本的运算符自 版本 1 起可用。

摘要

该算子计算给定输入批次中每个层的 softmax(归一化指数)值。输入是大小为 (batch_size x input_feature_dimensions) 的 2D 张量 (Tensor)。输出张量具有相同的形状,并包含相应输入的 softmax 值。

输入不需要显式为 2D 向量;相反,它将被强制转换为 2D 向量。对于任意 n 维张量输入 \in [a_0, a_1, …, a_{k-1}, a_k, …, a_{n-1}],其中 k 是提供的 axis,则输入将被强制转换为具有维度 [a_0 * … * a_{k-1}, a_k * … * a_{n-1}] 的 2 维张量。对于默认情况 axis=1,这意味着输入张量将被强制转换为维度为 [a_0, a_1 * … * a_{n-1}] 的 2D 张量,其中 a_0 通常是批次大小。在这种情况下,我们必须有 a_0 = N 且 a_1 * … * a_{n-1} = D。这些维度中的每一个都必须正确匹配,否则算子将抛出错误。

属性

  • 轴 - INT(默认值为 '1'

    描述输入在强制转换为二维时所沿的轴;默认为 1,因为第 0 个轴最可能描述批次大小

输入

  • 输入 (异构) - T

    如上所述,被强制转换为大小为 (NxD) 的二维矩阵的输入张量。

输出

  • 输出 (异构) - T

    与输入张量具有相同形状的输出值(未经强制转换的原始大小)。

类型约束

  • T 在 ( tensor(double), tensor(float), tensor(float16) )

    将输入和输出类型限制为浮点张量。