Open In App

Tensorflow.js tf.losses.meanSquaredError() Function

Improve
Improve
Like Article
Like
Save
Share
Report

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

Mean squared error is the average of squared differences between the predicted and the actual values. The result is always positive and 0.0 in case but never becomes negative. In tensorflow.js library, we use tf.losses.meanSquaredError() function to compute the mean squared error between two tensors. 

Syntax: 

tf.losses.meanSquaredError(labels, predictions, weights?, reduction?)

Parameters:

  • labels: This is the real output tensor with respect to which the difference in prediction is calculated. It can be tf.tensor, typedArray or a normal array.
  • predictions: This is the predicted output tensor with the same dimensions as labels. It is either tf.tensor or typedArray or normal array.
  • weights: This can be a tensor of rank either equal to that of labels so that it can be broadcastable or 0. It is optional.
  • reduction: Applying reduction to the loss. It is optional.

Return Value: tf.Tensor which is calculated by meansquaredError function.

Example 1: In this example we will take two 2 dimensional tensors on as label and the other as prediction and then find the mean squared error of these two.

Javascript




// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
  
// Defining label tensor
const y_true = tf.tensor2d([
    [0., 1., 0.], 
    [0., 0., 0.]
]);
  
// Defining prediction tensor
const y_pred = tf.tensor2d([
    [1., 1., 0.], 
    [1., 0., 0 ]
]);
  
// Calculating mean squared error
const mse = tf.losses.meanSquaredError(y_true,y_pred)
  
// Printing the output
mse.print()


Output:

Tensor
    0.3333

  Example 2: Similarly, we take another example in which we take the weights of rank as of labels in the meanSquaredError function and then calculate the mean squared error.

Javascript




// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
  
// Defining label tensor
const y_true = tf.tensor2d(
    [0., 1., 0., 0., 0., 0., 1., 
    0., 1., 1., 0., 1.], [4, 3]
);
  
// Defining predicted tensor
const y_pred = tf.tensor2d(
    [1., 1., 0., 1., 0., 0., 1., 
    1., 1., 0., 0., 1.], [4, 3]
);
  
// Calculating meansquared error
const mse = tf.losses.meanSquaredError(
        y_true, y_pred, [0.7, 0.3, 0.2],)
  
mse.print()


Output:

Tensor
    0.2000

Example 3: In compile function of designing the model, we use ‘mean squared error’ as the loss parameter. Following is a simple neural network where we do the computation.

Javascript




// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs");
  
// Define the model
const model = tf.sequential({
    layers: [tf.layers.dense({ 
        units: 1, inputShape: [12] 
    })],
});
  
// In model compilation we pass
// meanSquaredError as the parameter
  
model.compile(
    { optimizer: "adam", loss: "meanSquaredError" },
    (metrics = ["accuracy"])
);
  
// Evaluate the model which was compiled above
// computation is done in batches of size 4
const result = model.evaluate(
    tf.ones([10, 12]), tf.ones([10, 1]), {
        batchSize: 4,
    }
);
  
// Print the result
result.print();


Output:

Tensor
    0.4817

 Reference: https://js.tensorflow.org/api/3.6.0/#metrics.meanSquaredError



Last Updated : 31 May, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads