如何在 PyTorch 中比较两个张量?
pythonpytorchserver side programmingprogramming
要在 PyTorch 中逐元素比较两个张量,我们使用 torch.eq() 方法。它比较相应的元素,如果两个元素相同,则返回 "True" ,否则返回 "False"。我们可以比较两个具有相同或不同维度的张量,但两个张量的大小必须在非单维度上匹配。
步骤
导入所需的库。在以下所有 Python 示例中,所需的 Python 库都是 torch。确保您已经安装了它。
创建一个 PyTorch 张量并打印它。
计算 torch.eq(input1, input2)。它返回 "True" 和/或 "False" 的张量。它逐元素比较张量,如果相应元素相等则返回 True,否则返回 False。
打印返回的张量。
示例 1
以下 Python 程序显示如何逐元素比较两个一维张量。
# 导入必要的库 import torch # 创建两个张量 T1 = torch.Tensor([2.4,5.4,-3.44,-5.43,43.5]) T2 = torch.Tensor([2.4,5.5,-3.44,-5.43, 43]) # 打印上面创建的张量 print("T1:", T1) print("T2:", T2) # 逐元素比较 T1 和 T2 张量 print(torch.eq(T1, T2))
输出
T1:张量([ 2.4000, 5.4000, -3.4400, -5.4300, 43.5000]) T2:张量([ 2.4000, 5.5000, -3.4400, -5.4300, 43.0000]) 张量([ True, False, True, True, False])
示例 2
以下 Python 程序展示了如何逐元素比较两个 2-D 张量。
# 导入必要的库 import torch # 创建两个 4x3 2D 张量 T1 = torch.Tensor([[2,3,-32], [43,4,-53], [4,37,-4], [3,75,34]]) T2 = torch.Tensor([[2,3,-32], [4,4,-53], [4,37,4], [3,-75,34]]) # 打印上面创建的张量 print("T1:", T1) print("T2:", T2) #逐个元素比较张量 T1 和 T2 print(torch.eq(T1, T2))
输出
T1: tensor([[ 2., 3., -32.], [ 43., 4., -53.], [ 4., 37., -4.], [ 3., 75., 34.]]) T2: tensor([[ 2., 3., -32.], [ 4., 4., -53.], [ 4., 37., 4.], [ 3., -75., 34.]]) tensor([[ True, True, True], [False, True, True], [ True, True, False], [ True, False, True]])
示例 3
以下 Python 程序展示了如何逐个元素比较一维张量和二维张量。
# 导入必要的库 import torch # 创建两个张量 T1 = torch.Tensor([2.4,5.4,-3.44,-5.43,43.5]) T2 = torch.Tensor([[2.4,5.5,-3.44,-5.43, 7], [1.0,5.4,3.88,4.0,5.78]]) # 打印上面创建的张量 print("T1:", T1) print("T2:", T2) # 逐元素比较张量 T1 和 T2 print(torch.eq(T1, T2))
输出
T1:张量([ 2.4000, 5.4000, -3.4400, -5.4300, 43.5000]) T2:张量([[ 2.4000, 5.5000, -3.4400, -5.4300, 7.0000], [ 1.0000, 5.4000, 3.8800, 4.0000, 5.7800]]) 张量([[ True, False, True, True, False], [False, True, False, False, False]])