Tensorflow.js tf.batchNorm()函数
Tensorflow.js 是由谷歌开发的开源库,用于在浏览器或节点环境中运行机器学习模型以及深度学习神经网络。
.batchNorm()函数在批量标准化中很有用。
此外,均值、方差、尺度,包括偏移量可以有两种形状:
- 它可以具有与所述输入相同的形状。
- 在一般情况下,深度大小是指定输入张量的最后大小,因此值可以是形状 [深度] 的 tf.Tensor1D。
句法:
tf.batchNorm(x, mean, variance, offset?, scale?, varianceEpsilon?)
参数:
- x:规定的输入张量。它可以是 tf.Tensor、TypedArray 或 Array 类型。
- mean:规定的平均张量。它可以是 tf.Tensor、tf.Tensor1D、TypedArray 或 Array 类型。
- 方差:规定的方差张量。它可以是 tf.Tensor、tf.Tensor1D、TypedArray 或 Array 类型。
- offset:指定的偏移张量。它是可选的,可以是 tf.Tensor、tf.Tensor1D、TypedArray 或 Array 类型。
- scale:规定的尺度张量。它是可选的,可以是 tf.Tensor、tf.Tensor1D、TypedArray 或 Array 类型。
- 方差Epsilon:为了避免除以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();
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
[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