如何使用torch.logical_not()方法进行逻辑NOT操作(附实例)

1,237 阅读3分钟

"在这个PyTorch教程中,我们将看到如何使用logocal_not()对一个张量进行逻辑NOT操作。 PyTorch是一个开源的框架,可使用Python编程语言。我们可以在PyTorch中以张量的形式处理数据。

张量是一个多维数组,用于存储数据。所以为了使用张量,我们必须导入Torch模块。 要创建一个张量,使用的方法是张量()"

语法

torch.tensor(data)

其中data是一个多维数组。

torch.logical_not()

PyTorch中的torch.logical_not()是对单个张量对象执行的。如果该值为假或0,则返回True,如果该值为True或不等于0,则返回False,它需要一个张量作为参数。

语法

torch.logical_not(tensor_object)

参数

tensor_object是张量

例子1

在这个例子中,我们将创建一个具有5个布尔值的一维张量--data1,并执行logical_not():

#import torch module

import torch

 

#create a 1D tensor - data1 with 5 boolean values

data1 = torch.tensor([False,True, True, True,False])

 

#display

print("Tensor: ",data1)

 

#logical_not on data1

print("Logical NOT on above tensor: ",torch.logical_not(data1))

输出

Tensor: tensor([False, True, True, True, False])

Logical NOT on above tensor: tensor([ True, False, False, False, True])

工作

1. logical_not(False) - True

2. logical_not(True) - False

3. logical_not(True) - False

4. logical_not(True) - False

5. logical_not(False) - True

例子2

在这个例子中,我们将创建一个二维张量--data1,每两行有5个布尔值,并执行logical_not()。

#import torch module

import torch

#create a 2D tensor - data1 with 5 boolean values each

data1 = torch.tensor([[False,True, True, True,False],[False,True, True, True,False]])

#display

print("Tensor: ",data1)

#logical_not on data1

print("Logical NOT on above tensor: ",torch.logical_not(data1))

输出

Tensor: tensor([[False, True, True, True, False],

[False, True, True, True, False]])

Logical NOT on above tensor: tensor([[ True, False, False, False, True],

[ True, False, False, False, True]])

工作:

1.logical_not(False)-True,logical_not(False)-True

2.logical_not(True)-False,logical_not(True)-False

3.logical_not(True)-False,logical_not(True)-False

4.logical_not(True)-False,logical_not(True)-False

5.logical_not(False)-True,logical_not(False)-True

例子3

在这个例子中,我们将创建一个有5个数值的一维张量-data1,并执行logical_not()。

#import torch module

import torch

#create a 1D tensor - data1 with 5 numeric values

data1 = torch.tensor([0,1,23,45,56])

#display

print("Tensor: ",data1)

#logical_not on data1

print("Logical NOT on above tensor: ",torch.logical_not(data1))

输出

Tensor: tensor([ 0, 1, 23, 45, 56])

Logical NOT on above tensor: tensor([ True, False, False, False, False])

工作

1. logical_not(0) - True

2. logical_not(1) - False

3. logical_not(23) - 假的

4. logical_not(45) - 假的

5. logical_not(56) - False

例四

在这个例子中,我们将创建一个二维张量 - data1 每两行有5个布尔值,并执行logical_not()。

#import torch module

import torch

#create a 2D tensor - data1 with 5 boolean values each

data1 = torch.tensor([[12,34,56,78,90],[0,0,1,2,0]])

#display

print("Tensor: ",data1)

#logical_not on data1

print("Logical NOT on above tensor: ",torch.logical_not(data1))

输出

Tensor: tensor([[12, 34, 56, 78, 90],

[ 0, 0, 1, 2, 0]])

Logical NOT on above tensor: tensor([[False, False, False, False, False],

[ True, True, False, False, True]])

工作

1. logical_not(12) - False, logical_not(0) - True

2. logical_not(34) - False, logical_not(0) - True

3. logical_not(56) - 假的, logical_not(1) - 假的

4. logical_not(78) - 错, logical_not(2) - 错

5. logical_not(90) - 错, logical_not(0) - 真

总结

在这节PyTorch课程中,我们讨论了如何使用torch.logical_not()方法进行逻辑NOT操作。如果值是假的或0,则返回True,如果值是True或不等于0,则返回False。我们讨论了4个布尔值和数字值的一维和二维张量的例子。