Tensorflow.js tf.movingAverage()函数
简介: Tensorflow.js 是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型以及深度学习神经网络。
.movingAverage()函数用于确定变量的移动平均值。
笔记:
- 在没有zeroDebias的情况下,移动平均操作由:v += delta 指定。其中,delta = (1 – 衰减) * (x – v)。
- 在zeroDebias (默认)存在的情况下,测量 delta 项以消除 v 的(假定的)零初始化的影响。其中 delta /= (1 – decay ^ step)。
- 这个函数是完全无状态的,不保留步数的路径。此外,声明的步数要求调用者保存并作为step传入。
句法:
tf.movingAverage(v, x, decay, step?, zeroDebias?)
参数:
- v:规定的当前移动平均值。它可以是 tf.Tensor、TypedArray 或 Array 类型。
- x:规定的新输入值,其形状和数据类型应与v相同。
- 衰变:规定的衰变因子。其值通常为 0.95 和 0.99。它可以是 number 类型,也可以是 tf.Scalar。
- step:规定的步数。它是可选的,类型为 number 或 tf.Scalar。
- zeroDebias:检查是否要执行zeroDebias 。默认值为 true。它是可选的,类型为boolean 。
返回值:返回 tf.Tensor。
示例 1:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Defining current moving average value
const v = tf.tensor1d([1, 3, 5, 1]);
// Defining new input value
const x = tf.tensor1d([1, 7, 2, 1]);
// Defining decay factor
const decay_factor = 0.75;
// Calling movingAverage() method
const res = tf.movingAverage(v, x, decay_factor, 2, true);
// Printing output
res.print();
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Calling movingAverage() method
tf.movingAverage(tf.tensor1d([1.1, 3.1, 5.5, 1.3]),
tf.tensor1d([1.2, 7.4, 2.6, 1.1]), 0.99, 5, false).print();
输出:
Tensor
[1, 5.2857141, 3.2857144, 1]
示例 2:
Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
// Calling movingAverage() method
tf.movingAverage(tf.tensor1d([1.1, 3.1, 5.5, 1.3]),
tf.tensor1d([1.2, 7.4, 2.6, 1.1]), 0.99, 5, false).print();
输出:
Tensor
[1.1010001, 3.1429999, 5.4710002, 1.298]
参考: https://js.tensorflow.org/api/latest/#movingAverage