已知的直接子类 |
使用指定平均值和 stddev 对 TensorBuffer
进行归一化:output = (input -average) / stddev。
公共构造函数
NormalizeOp(浮点数平均值、浮点标准差)
初始化 NormalizeOp。
|
|
NormalizeOp(float[] 均值, float[] stddev)
初始化 NormalizeOp。
|
公共方法
TensorBuffer |
继承的方法
公共构造函数
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
可能是具有输出的同一个实例。
参数
输入 | 输入张量。它可能是输出中的同一实例。 |
---|
返回
- 输出张量。