Scenario 1: Work With Scalar
Scalar will store only one value. But anyway, it returns a tensor.
Syntax
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.
<!-- 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
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().
<!-- 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().
<!-- 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
Example
Create a one-dimensional tensor and a scalar and perform division to return the remainder using tf.mod().
<!-- 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.