📌  相关文章
📜  Tensorflow.js tf.initializers.varianceScaling()函数

📅  最后修改于: 2022-05-13 01:56:52.270000             🧑  作者: Mango

Tensorflow.js tf.initializers.varianceScaling()函数

Tensorflow.js是谷歌开发的一个开源库,用于在浏览器或节点环境中运行机器学习模型和深度学习神经网络。它还可以帮助开发人员用 JavaScript 语言开发 ML 模型,并且可以直接在浏览器或 Node.js 中使用 ML。

tf.initializers.varianceScaling()函数能够将其比例调整为权重的形状。使用 distribution=NORMAL 的值,样本是从中心为 0 的截断正态分布中抽取的, stddev = sqrt(scale / n)。请注意,n 的值变化如下:

  • 如果 mode 的值 = FAN_IN,则它是张量权重中的输入数。
  • 如果 mode 的值 = FAN_OUT,则它是张量权重中的输出数。
  • 如果 mode 的值 = FAN_AVG,则它是张量权重中输出和输入的平均值。

句法:

tf.initializers.varianceScaling(arguments)

参数:它将一个对象作为参数,其中包含下面列出的 3 个键值:

  • scale:它是比例因子。它是一个正浮点值。
  • 模式:输出和输入的扇形模式。
  • 分布:它是 值的概率分布。
  • 种子: 是随机数生成器种子。

返回值:它返回tf.initializers.Initializer

示例 1:

Javascript
// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
 
// Initializing the .initializers.varianceScaling()
// function
let geek = tf.initializers.varianceScaling(33)
 
// Printing gain value
console.log(geek);
 
// Printing individual gain value.
console.log('\nIndividual values:\n');
console.log(geek.scale);
console.log(geek.mode);
console.log(geek.distribution);


Javascript
// Importing the tensorflow.Js library
import * as tf from "@tensorflow/tfjs
 
// Defining the input value
const inputValue = tf.input({shape:[4]});
 
// Initializing tf.initializers.varianceScaling() function
const funcValue = tf.initializers.varianceScaling(3)
 
// Creating dense layer 1
const dense_layer_1 = tf.layers.dense({
    units: 5,
    activation: 'relu',
    kernelInitialize: funcValue
});
 
// Creating dense layer 2
const dense_layer_2 = tf.layers.dense({
    units: 9,
    activation: 'softmax'
});
 
// Output
const outputValue = dense_layer_2.apply(
    dense_layer_1.apply(inputValue)
);
 
// Creation the model.
const model = tf.model({
    inputs: inputValue,
    outputs: outputValue
});
 
// Predicting the output.
model.predict(tf.ones([2, 4])).print();


输出:

{
  "scale": 1,
  "mode": "fanIn",
  "distribution": "normal"
}

Individual values:

1
fanIn
normal

示例 2:

Javascript

// Importing the tensorflow.Js library
import * as tf from "@tensorflow/tfjs
 
// Defining the input value
const inputValue = tf.input({shape:[4]});
 
// Initializing tf.initializers.varianceScaling() function
const funcValue = tf.initializers.varianceScaling(3)
 
// Creating dense layer 1
const dense_layer_1 = tf.layers.dense({
    units: 5,
    activation: 'relu',
    kernelInitialize: funcValue
});
 
// Creating dense layer 2
const dense_layer_2 = tf.layers.dense({
    units: 9,
    activation: 'softmax'
});
 
// Output
const outputValue = dense_layer_2.apply(
    dense_layer_1.apply(inputValue)
);
 
// Creation the model.
const model = tf.model({
    inputs: inputValue,
    outputs: outputValue
});
 
// Predicting the output.
model.predict(tf.ones([2, 4])).print();

输出:

Tensor
    [[0.0687333, 0.1549079, 0.0899771, 0.084183, 
      0.1593787, 0.1488634, 0.0884578, 0.073244, 0.1322549],
     [0.0687333, 0.1549079, 0.0899771, 0.084183, 
      0.1593787, 0.1488634, 0.0884578, 0.073244, 0.1322549]]

参考: https://js.tensorflow.org/api/3.6.0/#initializers.varianceScaling