NormalizeOp

public class NormalizeOp
既知の直接サブクラス

指定された平均と stddev で TensorBuffer を正規化します。出力 = (入力 - 平均) / stddev です。

パブリック コンストラクタ

NormalizeOp(浮動小数点数の平均、浮動小数点数の stddev)
NormalizeOp を初期化します。
NormalizeOp(float[] 平均値, float[] stddev)
NormalizeOp を初期化します。

パブリック メソッド

TensorBuffer
applyTensorBuffer 入力)
定義された正規化を指定されたテンソルに適用し、結果を返します。

継承されるメソッド

パブリック コンストラクタ

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 がゼロであるか、meanstddev を持つ要素数が異なるか、いずれかの要素が空の場合。

パブリック メソッド

public TensorBuffer apply TensorBuffer 入力)

定義された正規化を特定のテンソルに適用し、結果を返します。

注: input は、出力と同じインスタンスである可能性があります。

パラメータ
入力 入力テンソルです。出力と同じインスタンスである可能性があります。
戻り値
  • 出力テンソル