JavaScript

Tensorflow.js – tf.mod()

“tf.mod() in tensorflow.js is used to perform element-wise division on  two tensors/scalars and return the remainder.”

Scenario 1: Work With Scalar

Scalar will store only one value. But anyway, it returns a tensor.

Syntax

tf.mod(scalar1,scalar2)

Parameters
scalar1 and scalar2 are the tensors that can take only one value as a parameter.

Return
Return remainder of two scalar values.

Example
Create two scalars and perform a division of two scalars to return the remainder.

<html>
<!--   CDN Link that delivers the Tensorflow.js framework -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>

<body>
<script>
//scalar1
let  value1 = tf.scalar(30);

//scalar2
let  value2 = tf.scalar(70);

document.write("Scalar-1: ",value1);

document.write("<br>");
document.write("<br>");

document.write("Scalar-2: ",value2);
</script>
<h3>Tensorflow.js - tf.mod() </h3>

<script>
//tf.mod(value1,value2)
document.write(tf.mod(value1,value2));
</script>

</body>
</html>

Output

Working
30%70 = 30.

Scenario 2: Work With Tensor

A tensor can store multiple values; it can be single or multi-dimensional.

Syntax

tf.mod(tensor1,tensor2)

Parameters
tensor1 and tensor2 are the tensors that can take only single or multiple values as a parameter.

Return
Return remainder of two tensors concerning each element.

We must notice that the total number of elements in both the tensors must be equal.

Example 1
Create two one-dimensional tensors and return the remainder using tf.mod().

<html>
<!--   CDN Link that delivers the Tensorflow.js framework -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>

<body>
<script>
//tensor1
let  values1 = tf.tensor1d([10,20,30,40,50]);

//tensor2
let  values2 = tf.tensor1d([1,2,3,4,5]);

document.write("Tensor-1: ",values1);

document.write("<br>");
document.write("<br>");

document.write("Tensor-2: ",values2);
</script>
<h3>Tensorflow.js - tf.mod() </h3>

<script>
//tf.mod(values1,values2)
document.write(tf.mod(values1,values2));
</script>

</body>
</html>

Output

Working
[10%1,20%2,30%3,40%4,50%5] => Tensor [0,0,0,0,0].

Example 2
Create 2 two-dimensional tensors with 2 rows and 3 columns and apply tf.mod().

<html>
<!--   CDN Link that delivers the Tensorflow.js framework -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>

<body>
<script>
//tensor1
let  values1 = tf.tensor2d([1,2,3,4,5,6],[2,3]);

//tensor2
let  values2 = tf.tensor2d([34,10,20,30,40,50],[2,3]);

document.write("Tensor-1: ",values1);

document.write("<br>");
document.write("<br>");

document.write("Tensor-2: ",values2);
</script>
<h3>Tensorflow.js - tf.mod() </h3>

<script>
//tf.mod(values1,values2)
document.write(tf.mod(values1,values2));
</script>

</body>
</html>

Output

Working
[[1%34,2%10,3%20],[4%30,5%40,6%50]] => [[1, 2, 3], [4, 5, 6]].

Scenario 3: Work With Tensor & Scalar

It can be possible to divide each element in a tensor by a scalar to return the remainder.

Syntax

tf.mod(tensor,scalar)

Example
Create a one-dimensional tensor and a scalar and perform division to return the remainder using tf.mod().

<html>
<!--   CDN Link that delivers the Tensorflow.js framework -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs"></script>

<body>
<script>
//tensor
let  values1 = tf.tensor1d([10,20,30,4,5,6]);

//scalar
let  value2 = tf.scalar(10);

document.write("Tensor: ",values1);

document.write("<br>");
document.write("<br>");

document.write("Scalar: ",value2);
</script>
<h3>Tensorflow.js - tf.mod() </h3>

<script>
//tf.mod(values1,value2)
document.write(tf.mod(values1,value2));
</script>

</body>
</html>

Output

Working
[10%10, 20%10, 30%10, 4%10, 5%10, 6%10] =>  [0, 0, 0, 4, 5, 6].

Conclusion

tf.mod() in tensorflow.js is used to perform division and return element-wise remainders. We discussed three scenarios to divide a tensor by a scalar. Also, we noticed that scalar will store only one value and returns a tensor. While performing tf.mod() on two tensors, ensure that the number of elements in two tensors must be the same.

About the author

Gottumukkala Sravan Kumar

B tech-hon's in Information Technology; Known programming languages - Python, R , PHP MySQL; Published 500+ articles on computer science domain