既知の直接サブクラス |
指定された平均と stddev で TensorBuffer
を正規化します。出力 = (入力 - 平均) / stddev です。
パブリック コンストラクタ
NormalizeOp(浮動小数点数の平均、浮動小数点数の stddev)
NormalizeOp を初期化します。
|
|
NormalizeOp(float[] 平均値, float[] stddev)
NormalizeOp を初期化します。
|
パブリック メソッド
TensorBuffer |
継承されるメソッド
パブリック コンストラクタ
public NormalizeOp (float average, float stddev)
NormalizeOp を初期化します。呼び出されると、次の条件を満たす新しい TensorBuffer
が作成されます。
output = (input - mean) / stddev
次の 2 つのケースでは、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
テンソルが返されます。
パラメータ
mean | 減算される平均値です |
---|---|
stddev | 除算する標準偏差の値。 |
例外
IllegalArgumentException | stddev がゼロの場合。 |
---|
public NormalizeOp (float[] average, 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 に設定されます。
パラメータ
mean | 各チャネルの平均値を減算します |
---|---|
stddev | 各チャネルの標準偏差を除算する値。 |
例外
IllegalArgumentException | いずれかの stddev がゼロであるか、mean に stddev を持つ要素数が異なるか、いずれかの要素が空の場合。 |
---|
パブリック メソッド
public TensorBuffer apply (TensorBuffer 入力)
定義された正規化を特定のテンソルに適用し、結果を返します。
注: input
は、出力と同じインスタンスである可能性があります。
パラメータ
入力 | 入力テンソルです。出力と同じインスタンスである可能性があります。 |
---|
戻り値
- 出力テンソル