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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。