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


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


Tensorflow.js是Google開發的開源工具包,用於在瀏覽器或節點平台上執行機器學習模型和深度學習神經網絡。它還使開發人員能夠在 JavaScript 中創建機器學習模型,並直接在瀏覽器中或通過 Node.js 使用它們。

tf.layers.batchNormalization() 函數用於對數據應用批量歸一化操作。批量歸一化是一種訓練非常深度的神經網絡的方法,它將每個 mini-inputs 批次標準化為一個層。這穩定了學習過程,並顯著減少了創建深度網絡所需的訓練周期數。

用法:

tf.layers.batchNormalization(args?)

輸入形狀:任意。當使用該層作為模型中的初始層時,請使用 inputShape 配置。

輸出形狀:輸出與輸入具有相同的形狀。

參數:它接受 args 對象,該對象可以具有以下屬性:

  • axis (number): 應標準化的整數軸(通常是特征軸)。 -1 是默認值。
  • momentum (number):移動平均線的動量。默認值為 0.99。
  • epsilon (number):將小浮點數添加到方差中以避免被零除。默認為 1e-3。
  • center (boolean):如果這是真的,請將 beta 的偏移量添加到歸一化張量中。如果為 false,則不考慮 beta。默認情況下該值設置為 true。
  • scale (boolean):如果這是真的,則乘以伽瑪。如果為 false,則不會使用 Gamma。 True 是默認值。
  • betaInitializer:這是 beta 權重的初始值設定項。 ‘zeroes’ 是默認值。
  • gammaInitializer:這是伽瑪權重的初始值設定項。 ‘ones’ 是默認值。
  • movingMeanInitializer:這是移動均值的初始值設定項。 ‘zeroes’ 是默認值。
  • movingVarianceInitializer:這是移動方差的初始值設定項。 ‘ones’ 是默認值。
  • betaConstraint:Beta 權重的約束。
  • gammaConstraint:gamma 權重的約束。
  • betaRegularizer:Beta 權重的正則化器。
  • gammaRegularizer:Beta 權重的正則化器。

返回值:它返回一個對象(BatchNormalization)。

示例 1:

Javascript


import * as tf from "@tensorflow/tfjs"; 
  
const batchNormalizationLayer = tf.layers.batchNormalization(); 
      
const x = tf.tensor([1.12, -0.8, 1.9, 0.12, 0.25, -3.4], [2, 3]); 
  
batchNormalizationLayer.apply(x).print();

輸出:

Tensor
   [[1.1194404, -0.7996003, 1.8990507 ],
    [0.11994  , 0.2498751 , -3.3983014]]

示例 2:

Javascript


import * as tf from "@tensorflow/tfjs"; 
  
const batchNormalizationLayer = tf.layers.batchNormalization(); 
      
const x = tf.tensor([12, 3.2, 4.8, 9, 10, 2.5,  
    8, 11, 9.4, 25, 24.9, 98.7], [2, 3, 2]); 
  
batchNormalizationLayer.apply(x).print();

輸出:

Tensor
   [[[11.9940042, 3.1984012 ],
     [4.7976022 , 8.9955034 ],
     [9.9950037 , 2.4987509 ]],
    [[7.9960032 , 10.994504 ],
     [9.3953028 , 24.9875088],
     [24.8875599, 98.6506805]]]

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



相關用法


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