當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Tensorflow.js tf.batchNorm()用法及代碼示例


Tensorflow.js是由Google開發的開源庫,用於在瀏覽器或節點環境中運行機器學習模型以及深度學習神經網絡。

.batchNorm() 函數在批量標準化中很有用。

此外,均值、方差、尺度(包括偏移量)可以有兩種形狀:

  • 它的形狀可以與所述輸入相同。
  • 在一般情況下,深度大小是指定輸入張量的最後一個大小,因此值可以是形狀 [depth] 的 tf.Tensor1D。

用法:

tf.batchNorm(x, mean, variance, offset?, scale?, varianceEpsilon?)


參數:

  • x:規定的輸入張量。它可以是 tf.Tensor、TypedArray 或 Array 類型。
  • mean:規定的平均張量。它可以是 tf.Tensor、tf.Tensor1D、TypedArray 或 Array 類型。
  • variance:規定的方差張量。它可以是 tf.Tensor、tf.Tensor1D、TypedArray 或 Array 類型。
  • offset:規定的偏移張量。它是可選的,可以是 tf.Tensor、tf.Tensor1D、TypedArray 或 Array 類型。
  • scale:規定的尺度張量。它是可選的,可以是 tf.Tensor、tf.Tensor1D、TypedArray 或 Array 類型。
  • varianceEpsilon:聲明的次要浮點數,以逃避被 0 的除法。它是可選的,屬於數字類型。

返回值:它返回tf.Tensor。

範例1:

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Defining input tensor
const a = tf.tensor1d([1, 5, 3]);
  
// Defining mean
const b = tf.tensor1d([1, 1, 2]);
  
// Defining variance
const c = tf.tensor1d([1, 0, 1]);
  
// Calling batchNorm() function
tf.batchNorm(a, b, c).print();

輸出:

Tensor
    [0, 126.4911041, 0.9995003]

範例2:

Javascript


// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Defining input tensor
const a = tf.tensor1d([1, 5, 3]);
  
// Defining mean
const b = tf.tensor1d([1, 1, 2]);
  
// Defining variance
const c = tf.tensor1d([1, 0, 1]);
  
// Defining offset
const d = tf.tensor1d([1, 6, 2]);
  
// Defining scale
const e = tf.tensor1d([1, 0, 1]);
  
// Calling batchNorm() function
a.batchNorm(b, c, d, e, 9).print();

輸出:

Tensor
    [1, 6, 2.3162277]

參考: https://js.tensorflow.org/api/latest/#batchNorm




相關用法


注:本文由純淨天空篩選整理自nidhi1352singh大神的英文原創作品 Tensorflow.js tf.batchNorm() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。