• Last Updated : 21 May, 2021

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]
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]