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
相關用法
- Tensorflow.js tf.layers.bidirectional()用法及代碼示例
- Tensorflow.js tf.layers.minimum()用法及代碼示例
- Tensorflow.js tf.layers.flatten()用法及代碼示例
- Tensorflow.js tf.layers.average()用法及代碼示例
- Tensorflow.js tf.layers.repeatVector()用法及代碼示例
- Tensorflow.js tf.layers.multiply()用法及代碼示例
- Tensorflow.js tf.layers.embedding()用法及代碼示例
- Tensorflow.js tf.layers.dense()用法及代碼示例
- Tensorflow.js tf.layers.permute()用法及代碼示例
- Tensorflow.js tf.layers.reshape()用法及代碼示例
- Tensorflow.js tf.layers.dropout()用法及代碼示例
- Tensorflow.js tf.layers.concatenate()用法及代碼示例
- Tensorflow.js tf.layers.gaussianNoise()用法及代碼示例
- Tensorflow.js tf.layers.gaussianDropout()用法及代碼示例
- Tensorflow.js tf.layers.alphaDropout()用法及代碼示例
- Tensorflow.js tf.layers.elu()用法及代碼示例
- Tensorflow.js tf.layers.masking()用法及代碼示例
- Tensorflow.js tf.layers.timeDistributed()用法及代碼示例
- Tensorflow.js tf.layers.gru()用法及代碼示例
- Tensorflow.js tf.layers.simpleRNNCell()用法及代碼示例
- Tensorflow.js tf.layers.add()用法及代碼示例
- Tensorflow.js tf.layers.gruCell()用法及代碼示例
- Tensorflow.js tf.layers.maximum()用法及代碼示例
- Tensorflow.js tf.layers.zeroPadding2d()用法及代碼示例
- Tensorflow.js tf.layers.dot()用法及代碼示例
注:本文由純淨天空篩選整理自aayushmohansinha大神的英文原創作品 Tensorflow.js tf.layers.batchNormalization() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。