如何在 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]])

相关文章