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 值。

属性

  • **axis - INT**(默认值为'-1'

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

输入

  • **input** (异构) - T

    等级 >= axis 的输入张量。

输出

  • **output** (异构) - T

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

类型约束

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

    将输入和输出类型约束为浮点张量。

Softmax - 11

版本

  • **名称**: Softmax (GitHub)

  • **域**: main

  • **自版本**: 11

  • **函数**: False

  • **支持级别**: SupportType.COMMON

  • **形状推断**: True

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

摘要

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

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

属性

  • **axis - INT**(默认值为'1'

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

输入

  • **input** (异构) - T

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

输出

  • **output** (异构) - T

    与输入张量形状相同的输出值(原始大小,无强制转换)。

类型约束

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

    将输入和输出类型约束为浮点张量。

Softmax - 1

版本

  • **名称**: Softmax (GitHub)

  • **域**: main

  • **自版本**: 1

  • **函数**: False

  • **支持级别**: SupportType.COMMON

  • **形状推断**: True

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

摘要

该运算符计算给定输入的批次中每一层的 softmax(归一化指数)值。输入是一个二维张量 (Tensor

),大小为 (batch_size x input_feature_dimensions)。输出张量具有相同的形状,并包含相应输入的 softmax 值。

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

属性

  • **axis - INT**(默认值为'1'

    描述将输入强制转换为 2D 时的轴;默认为 1,因为第 0 个轴最有可能描述批大小

输入

  • **input** (异构) - T

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

输出

  • **output** (异构) - T

    与输入张量形状相同的输出值(原始大小,无强制转换)。

类型约束

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

    将输入和输出类型约束为浮点张量。