JavaScript

# Tensorflow.js – tf.mul()

“tf.mul() in tensorflow.js is used to perform element wise multiplication on  two tensors/scalars.”

## Scenario 1: Work With Scalar

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

Syntax

tf.mul(scalar1,scalar2)

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

Return
Return product of two scalar values.

Example
Create two scalars and perform the multiplication of two scalars.

<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.mul() </h3>

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

</body>
</html>

Output

Working
The product of 30 and 70 is 2100.

## Scenario 2: Work With Tensor

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

Syntax

tf.mul(tensor1,tensor2)

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

Return
Return product 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 product using tf.mul().

<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.mul() </h3>

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

</body>
</html>

Output

Working
[10*1,20*2,30*3,40*4,50*5] => [10, 40, 90, 160, 250].

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

<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.mul() </h3>

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

</body>
</html>

Output

Working
[[1*34,2*10,3*20],[4*30,5*40,6*50]] => [[34 , 20 , 60 ], [120, 200, 300]].

## Scenario 3: Work With Tensor & Scalar

Multiplying each element from a tensor with a scalar can be possible.

Syntax

tf.mul(tensor,scalar)

Example
Create a one-dimensional tensor and a scalar and perform multiplication using tf.mul().

<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(1);

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

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

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

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

</script>

</body>
</html>

Output

Working
[10*1, 20*1, 30*1, 4*1, 5*1, 6*1] =>  [10, 20, 30, 4, 5, 6].

## Conclusion

So we came to the end of the lesson. tf.mul() in tensorflow.js is used to return element-wise  products. We discussed three scenarios to multiply a tensor from a scalar.

Also, we noticed that scalar will store only one value and returns a tensor. While performing tf.mul() on two tensors, ensure that the number of elements in two tensors must be the same.