你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

减少操作

减少输入,例如计算总和或元素平均值。

ReduceSum (x, axis=None)
ReduceLogSum (x, axis=None)
ReduceMean (x, axis=None)
ReduceMax (x, axis=None)
ReduceMin (x, axis=None)

parameters

  • x:要减少的数据
  • axis (默认值:) : None 如果指定,则仅在此轴上执行缩减。 此值基于 1;即 1 表示第一个静态轴。x

返回值

减小的值。 对于 axis=1 (默认) ,这是标量。 如果指定了轴,该轴将减小为具有维度 1。

说明

这些函数计算 (求和、平均值等) 输入向量或张量的所有值。 可用的聚合包括:

  • ReduceSum():元素的总和
  • ReduceLogSum():日志表示形式的元素的总和 (logC = log (exp (logA) + exp (logB)))
  • ReduceMean():元素的平均值
  • ReduceMax():元素的最大值
  • ReduceMin():最小值

默认情况下,聚合在所有元素上完成。 对于排名>为 1 的张量,可选 axis 参数指定执行缩减的单个轴。 例如, axis=2 应用于 [M x N]-维矩阵会聚合所有列,从而 [M x 1] 产生结果。

减少序列

如果输入是序列,则为每个序列项单独执行缩减。 这些操作不支持减少序列。 相反,可以通过重复项来实现此目的。 例如,若要总结序列 x的所有元素,可以说:

sum = x + PastValue (0, sum, defaultHiddenActivation=0)

对于最大池,可以使用

max = Max(x, PastValue (0, max, defaultHiddenActivation=0))

示例

通过减去其元素的平均值来规范化值 (,例如,作为 层规范化) 的一部分:

mean = ReduceMean (x)
xNorm = x - mean

或者,可以使用以下方法ReduceLogSum()手动定义具有 softmax 条件的交叉枚举

myCrossEntropyWithSoftmax (y/*label*/, z/*logit*/) = ReduceLogSum (z) - ReduceSum (y .* z)