Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Compute element-wise logical AND, OR and NOT of tensors in PyTorch

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

In this article, we are going to see how to compute element-wise logical AND, OR, and NOT of given tensors in PyTorch. We can compute this by using the torch.logical_and(), torch.logical_or(), and torch.logical_not() methods. Let’s discuss all of them one by one.

Compute element-wise with logical AND

torch.logical_and() – This method is used to compute the element-wise logical AND of the given tensor. This method treated the non-zero values as True and zero values as False. The following syntax is used to compute logical AND.

Syntax: torch.logical_and(input, other)

Parameters

  • input –  This is our input tensor
  • other – This tensor is to compute AND with input tensor.

Return : This method returns a tensor with values we get after computing the logical AND.

Example 1:

The following program is to compute element-wise logical AND on two 1D tensors having boolean values.

Python3




# Import the required library
import torch
  
# create two tensors having boolean values
tens_1 = torch.tensor([True, True, False, False])
tens_2 = torch.tensor([True, False, True, False])
  
# display the above created tensors
print("Input Tensor 1: ", tens_1)
print("Input Tensor 2: ", tens_2)
  
# compute the logical AND of input1 and input2
tens = torch.logical_and(tens_1, tens_2)
  
# print result
print("\nAfter Compute Logical AND: ", tens)

Output:

 

Example 2:

The following program is to understand how to compute element-wise logical AND on two 2D tensors.

Python3




# Import the required library
import torch
  
# create two tensors
tens_1 = torch.tensor([[10, 0], [0, 20]])
tens_2 = torch.tensor([[0, 30], [0, 40]])
  
# display the tensors
print("Input Tensor 1: \n", tens_1)
print("Input Tensor 2: \n", tens_2)
  
# compute the logical AND
tens = torch.logical_and(tens_1, tens_2)
  
# print result
print("After Compute Logical AND: \n", tens)

Output:

 

Compute element-wise with logical OR

torch.logical_or() – This method is used to compute the element-wise logical OR of the given tensor. This method also treated the non-zero values as True and zero values as False. The following syntax is used to compute logical OR.

Syntax: torch.logical_or(input, other)

Parameters

  • input –  This is our input tensor
  • other – This tensor is to compute OR with input tensor.

Return –returns a tensor with values we get after computing the logical OR.

Example 1:

The following program is to know how to compute element-wise logical OR on two 1D tensors.

Python3




# Import the required library
import torch
  
# create two tensors
tens_1 = torch.tensor([[10, 0, 20, 0]])
tens_2 = torch.tensor([[0, 30, 40, 0]])
  
# display the tensors
print("\n Input Tensor 1: ", tens_1)
print("\n Input Tensor 2: ", tens_2)
  
# compute the logical OR
tens = torch.logical_or(tens_1, tens_2)
  
# print result
print("\n After Compute Logical OR: ", tens)

Output:

 

Example 2:

The following program is to understand how to compute element-wise logical OR on two 2D tensors.

Python3




# Import the required library
import torch
  
# create two tensors
tens_1 = torch.tensor([[11, 0], [0, 12]])
tens_2 = torch.tensor([[0, 13], [0, 14]])
  
# display the tensors
print("\n Input Tensor 1: \n", tens_1)
print("\n Input Tensor 2: \n", tens_2)
  
# compute the logical OR
tens = torch.logical_or(tens_1, tens_2)
  
# print result
print("\n After Compute Logical OR: \n", tens)

Output:

 

Compute element-wise with logical NOT

torch.logical_not() – This method is used to compute the element-wise logical NOT of the given input tensor. This method also treated the non-zero values as True and zero values as False.  The following syntax is used to compute logical NOT.

Syntax – torch.logical_not(input)

Parameter – 

  • input – This is our input tensor

Return –This method returns a tensor with values we get after computing the logical NOT.

The following program is to understand how to compute element-wise logical NOT of tensor.

Python3




# import required library
import torch
  
# create two tensors
tens_1 = torch.tensor([11, 0])
  
  
# display the tensors
print("\n Input Tensor 1: \n", tens_1)
  
# compute the logical NOT
tens = torch.logical_not(tens_1)
  
# display result
print("\n After Compute Logical NOT: \n", tens)

Output:

 


My Personal Notes arrow_drop_up
Last Updated : 28 Mar, 2022
Like Article
Save Article
Similar Reads
Related Tutorials