Open In App

Tensorflow.js tf.valueAndGrad() Function

Last Updated : 21 May, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Tensorflow.js is an open-source library developed by Google for running machine learning models and deep learning neural networks in the browser or node environment.

The tf.valueAndGrad() function is used to return the gradient of the specified function f(x) with respect to x along with the value of f().

Syntax:

tf.valueAndGrad (f)

Parameters: This function accepts a parameter which is illustrated below:

  • f: The specified function f(x) for which gradient is being calculated.

Return Value: It returns the gradient of the specified function f(x) with respect to x along with the value of f().

Example 1:

Javascript




// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Initializing a function f(x) = x^2
const f = x => x.square();
  
// Calling the .valueAndGrad() function over
// the above function as its parameter which
// calculates f'(x) = 2x
const g = tf.valueAndGrad(f);
  
// Initializing a Tensor of values at which
// value of gradient is calculated
const x = tf.tensor1d([0, 1, 2, 3]);
  
// Returning the value of f() and 
// gradient of f(x)
const {value, grad} = g(x);
  
// Getting the value of f()
console.log('value');
value.print();
  
// Getting the gradient of f(x) at 
// the above tensor values
console.log('grad');
grad.print();


Output:

value
Tensor
   [0, 1, 4, 9]
grad
Tensor
   [0, 2, 4, 6]

Example 2:

Javascript




// Importing the tensorflow.js library
import * as tf from "@tensorflow/tfjs"
  
// Using a function f(x) = x^3 as the parameter
// for the .valueAndGrad() function which
// calculates f'(x) = 3x^2
const g = tf.valueAndGrad(x => x.pow(tf.scalar(3, 'int32')));
  
// Using a Tensor of values at which
// value of gradient is calculated 
const {value, grad} = g(tf.tensor1d([-1, 0, 0.3, 4]));
  
// Getting the value of f()
console.log('value');
value.print();
  
// Getting the gradient of f(x)
console.log('grad');
grad.print();


Output:

value
Tensor
   [-1, 0, 0.027, 64]
grad
Tensor
   [3, 0, 0.27, 48]

Reference:https://js.tensorflow.org/api/latest/#valueAndGrad



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads