Tensorflow.js tf.layers addWeight() Method - GeeksforGeeks

22 Apr, 2022
Tensorflow.js is an open-source library that is developed by Google for running machine learning models as well as deep learning neural networks in the browser or node environment.
The .addWeight() function is used add a variable of weight to the stated layer.
Syntax:
addWeight(name, shape, dtype?, initializer?, 
               regularizer?, trainable?, constraint?)
Parameters:
name: It is the stated name of new variable of weight and is of type string.
shape: It is the stated shape of the weight. It is of type (null | number)[].
dtype: It is the stated datatype of the weight. It is optional and can be of type float32, int32, bool, complex64, or string.
initializer: It is the stated initializer instance. It is optional and is of type tf.initializers.Initializer.
regularizer: It is the stated regularizer instance. It is optional and is of type Regularizer.
trainable: It states if the weight should be instructed through backprop or not by presuming that the layer itself is similarly trainable. It is optional and is of type boolean.
constraint: It is an optional trainable and is of type tf.constraints.Constraint.
Return Value: It returns LayerVariable.
Example 1:
Javascript
// Importing the tensorflow.js libraryimport * as tf from "@tensorflow/tfjs"  // Creating a modelconst model = tf.sequential();  // Adding a layermodel.add(tf.layers.dense({units: 2, inputShape: [1]}));  // Calling addWeight() methodconst res = model.layers[0].addWeight('wt_var',         [1, 5], 'int32', tf.initializers.ones());  // Printing outputconsole.log(res);model.layers[0].getWeights()[0].print();
Output:
{
  "dtype": "int32",
  "shape": [
    1,
    5
  ],
  "id": 1582,
  "originalName": "wt_var",
  "name": "wt_var_2",
  "trainable_": true,
  "constraint": null,
  "val": {
    "kept": false,
    "isDisposedInternal": false,
    "shape": [
      1,
      5
    ],
    "dtype": "int32",
    "size": 5,
    "strides": [
      5
    ],
    "dataId": {
      "id": 2452
    },
    "id": 2747,
    "rankType": "2",
    "trainable": true,
    "name": "wt_var_2"
  }
}
Tensor
     [[0.139703, 0.9717236],]
Here, getWeights() method is used to print the weights of the layer specified.
Example 2:
Javascript
// Importing the tensorflow.js libraryimport * as tf from "@tensorflow/tfjs"  // Creating a modelconst model = tf.sequential();  // Adding a layermodel.add(tf.layers.dense({units: 2, inputShape: [1]}));model.add(tf.layers.dense({units: 3}));  // Calling addWeight() methodconst res1 = model.layers[0].addWeight('w_v',     [1.2, 1.3], 'float32', tf.initializers.zeros(), true);  const res2 = model.layers[1].addWeight('wv',     ["a", "b"], 'int32', tf.initializers.ones(), false);  // Printing outputsconsole.log(res1);console.log(res2);model.layers[0].getWeights()[0].print();model.layers[1].getWeights()[0].print();
Output:
{
  "dtype": "float32",
  "shape": [
    1.2,
    1.3
  ],
  "id": 7,
  "originalName": "w_v",
  "name": "w_v",
  "trainable_": true,
  "constraint": null,
  "val": {
    "kept": false,
    "isDisposedInternal": false,
    "shape": [
      1.2,
      1.3
    ],
    "dtype": "float32",
    "size": 1.56,
    "strides": [
      1.3
    ],
    "dataId": {
      "id": 4
    },
    "id": 9,
    "rankType": "2",
    "trainable": true,
    "name": "w_v"
  }
}
{
  "dtype": "int32",
  "shape": [
    "a",
    "b"
  ],
  "id": 8,
  "originalName": "wv",
  "name": "wv",
  "trainable_": true,
  "constraint": null,
  "val": {
    "kept": false,
    "isDisposedInternal": false,
    "shape": [
      "a",
      "b"
    ],
    "dtype": "int32",
    "size": null,
    "strides": [
      "b"
    ],
    "dataId": {
      "id": 5
    },
    "id": 11,
    "rankType": "2",
    "trainable": true,
    "name": "wv"
  }
}
Tensor
     [[0.835237, 0.960075],]
Tensor
    [[0.4747705 , -0.6734858, 1.1417971],
     [-0.8185477, 0.1940626 , -0.98313 ]]
Here, tf.initializers.zeros() method is used to produce tensors that are initialized to zero and tf.initializers.ones() method is used to produce tensors that are initialized to one.
Reference: https://js.tensorflow.org/api/latest/#tf.layers.Layer.addWeight
Picked
Tensorflow.js
TensorFlow.js-Classes
TensorFlow.js-layers
JavaScript
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Remove elements from a JavaScript Array
Difference between var, let and const keywords in JavaScript
Difference Between PUT and PATCH Request
JavaScript | Promises
How to get character array from string in JavaScript?
Remove elements from a JavaScript Array
Installation of Node.js on Linux
How to fetch data from an API in ReactJS ?
Top 10 Projects For Beginners To Practice HTML and CSS Skills
How to insert spaces/tabs in text using HTML/CSS?