NormalizeOp

公共类 NormalizeOp
已知的直接子类

使用指定平均值和 stddev 对 TensorBuffer 进行归一化:output = (input -average) / stddev。

公共构造函数

NormalizeOp(浮点数平均值、浮点标准差)
初始化 NormalizeOp。
NormalizeOp(float[] 均值, float[] stddev)
初始化 NormalizeOp。

公共方法

TensorBuffer
applyTensorBuffer 输入)
对给定张量应用定义的归一化,并返回结果。

继承的方法

公共构造函数

public NormalizeOp (浮点型均值, float stddev)

初始化 NormalizeOp。被调用时,它会创建一个新的 TensorBuffer,还要满足以下要求:

   output = (input - mean) / stddev
 

在以下两种情况下,将 mean 重置为 0,将 stddev 重置为 1 以绕过归一化。
1. mean 和 {code stddev} 均为 0。
2. mean 为 0,{stddev} 为无穷大。

注意:如果 mean 设为 0 且 stddev 设为 1,则不会发生任何计算,执行时直接返回原始输入。

注意:目前,返回的 TensorBuffer 始终是 DataType.FLOAT32 张量,除非输入是 DataType.UINT8 张量时,mean 会设置为 0 并且 stddev 设置为 1,以便返回原始的 DataType.UINT8 张量。

参数
平均值 首先要减去的平均值。
stddev 然后除以相应的标准差值。
抛出
IllegalArgumentException 如果 stddev 为零。

public NormalizeOp (float[] mean, float[] stddev)

初始化 NormalizeOp。被调用时,它会创建一个新的 TensorBuffer,还要满足以下要求:

   // Pseudo code. [...][i] means a certain element whose channel id is i.
   output[...][i] = (input[...][i] - mean[i]) / stddev[i]
 

注意:如果 mean 中的所有值都设为 0 且所有 stddev 都设为 1,则不会发生任何计算,系统会在执行时直接返回原始输入。

注意:目前,返回的 TensorBuffer 始终是 DataType.FLOAT32 张量,只不过输入是 DataType.UINT8 张量,所有 mean 都设置为 0,所有 stddev 都设置为 1。

参数
平均值 每个渠道首先减去的平均值。
stddev 然后针对每个渠道除以标准差值。
抛出
IllegalArgumentException 如果任意 stddev 为零,或者 mean 包含不同数量的 stddev 元素,或者任一元素为空。

公共方法

public TensorBuffer apply TensorBuffer 输入)

对给定张量应用定义的归一化,并返回结果。

注意:input 可能是具有输出的同一个实例。

参数
输入 输入张量。它可能是输出中的同一实例。
返回
  • 输出张量。