PyTorch Element Wise Multiplication - Calculate the element wise multiplication to get the Hadamard Product

PyTorch Element Wise Multiplication - Calculate the element wise multiplication to get the Hadamard Product

We import PyTorch.

```
import torch
```

Then we print the PyTorch version we are using.

```
print(torch.__version__)
```

We are using PyTorch 0.2.0_4.

In this video, we will do element-wise multiplication of matrices in PyTorch to get the Hadamard product.

We will create two PyTorch tensors and then show how to do the element-wise multiplication of the two of them.

Let’s get started.

First, we create our first PyTorch tensor using the PyTorch rand functionality.

```
random_tensor_one_ex = (torch.rand(2, 3, 4) * 10).int()
```

The size is going to be 2x3x4.

We’re going to cast it to an int and we’re going to assign it to the Python variable, random_tensor_one_ex.

Let’s print our first tensor to see what we created.

```
print(random_tensor_one_ex)
```

We see that it’s a PyTorch IntTensor of size 2x3x4, the numbers are between 0 and 10, and they are random.

Next, we create our second PyTorch tensor the same way.

```
random_tensor_two_ex = (torch.rand(2, 3, 4) * 10).int()
```

This time, we’re assigning it to the Python variable, random_tensor_two_ex.

Again, it’s torch.rand, 2x3x4, times 10, and casting it to an int.

Let’s print our second tensor to see what we got.

```
print(random_tensor_two_ex)
```

We see again that we have a PyTorch IntTensor of size 2x3x4, and it’s a random tensor that has numbers between 0 and 10.

To calculate the element-wise multiplication of the two tensors to get the Hadamard product, we’re going to use the asterisk symbol.

So we multiply random_tensor_one_ex times random_tensor_two_ex using the asterisk symbol and we’re going to set it equal to the hadamard_product_ex Python variable.

```
hadamard_product_ex = random_tensor_one_ex * random_tensor_two_ex
```

Let’s print out the result

```
print(hadamard_product_ex)
```

And we see that it is between 0 and the biggest number looks to be 63.

So if it’s element-wise, our biggest number should have been 9 or 10, so it could have been up to 100.

Let’s check the last row.

So here we see 5.

Here, we see 8.

So we should expect a 40.

That’s what we get.

We see a 7.

We see a 3.

So we get a 21, which is what we would expect.

We see a 6 and 8.

That’s 48.

Lastly, we see a 9 x 1.

We see a 9.

So using the asterisk symbol, we were able to calculate the Hadamard product of the two tensors.

So it did the element-wise multiplication.

The other thing to note is that random_tensor_one_ex was size 2x3x4, random_tensor_two_ex was 2x3x4, and our element-wise multiplication was also 2x3x4, which is what we would expect.

That is how you can calculate the element-wise multiplication of tensors and matrices in PyTorch to get the Hadamard product.

Receive the Data Science Weekly Newsletter every Thursday

Easy to unsubscribe at any time. Your e-mail address is safe.