NormalizeOp

公開類別 NormalizeOp
已知的直接子類別

使用指定平均值和 stddev: output = (input - average) / stddev. 將 TensorBuffer 正規化。

公用建構函式

NormalizeOp(浮點平均值, float stddev)
初始化 NormalizeOp。
NormalizeOp(float[] 平均值, float[] stddev)
初始化 NormalizeOp。

公用方法

TensorBuffer
apply(TensorBuffer 輸入)
在指定張量上套用定義的正規化,然後傳回結果。

繼承的方法

公用建構函式

public NormalizeOp (浮點平均值, float stddev)

初始化 NormalizeOp。受到呼叫時,系統會建立新的 TensorBuffer,滿足以下要求:

   output = (input - mean) / stddev
 

在以下兩種情況下,請將 mean 重設為 0,並將 stddev 重設為 1,藉此略過正規化程序。
1. mean 和 {code stddev} 都是 0。
2. mean 為 0,{stddev} 為 Infinity。

注意事項:如果將 mean 設為 0,且 stddev 設為 1,系統就不會計算任何運算作業,並在執行過程中直接傳回原始輸入內容。

注意:傳回的 TensorBuffer 一律是 DataType.FLOAT32 張量,除非輸入內容是 DataType.UINT8 張量,否則 mean 會設為 0,stddev 則設為 1,因此會傳回原始 DataType.UINT8 張量。

參數
平均值 先減去平均值
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。

參數
平均值 先減少各個管道的平均值。
stddev 每個管道要除以的標準差值。
擲回
IllegalArgumentException 如果任何 stddev 為零、mean 有不同數量的元素,且包含 stddev,或任何為空白的元素。

公用方法

公開 TensorBuffer 套用 (TensorBuffer 輸入)

在指定張量上套用已定義的正規化,然後傳回結果。

注意:input 可能與輸出的相同執行個體。

參數
輸入 輸入張量它可能與輸出的例項可能相同。
傳回
  • 輸出張量。