如何在 PyTorch 中比較兩個張量?


要在 PyTorch 中逐元素比較兩個張量,我們使用 **torch.eq()** 方法。它比較相應的元素,如果兩個元素相同則返回 **“True”**,否則返回 **“False”**。我們可以比較具有相同或不同維度的兩個張量,但兩個張量的大小必須在非單例維度上匹配。

步驟

  • 匯入所需的庫。在以下所有 Python 示例中,所需的 Python 庫是 **torch**。確保您已經安裝了它。

  • 建立一個 PyTorch 張量並列印它。

  • 計算 **torch.eq(input1, input2)**。它返回一個包含 **“True”** 和/或 **“False”** 的張量。它逐元素比較張量,如果相應元素相等則返回 True,否則返回 False。

  • 列印返回的張量。

示例 1

下面的 Python 程式演示瞭如何逐元素比較兩個一維張量。

# import necessary library
import torch

# Create two tensors
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 above created tensors
print("T1:", T1)
print("T2:", T2)

# Compare tensors T1 and T2 element-wise
print(torch.eq(T1, T2))

輸出

T1: tensor([ 2.4000, 5.4000, -3.4400, -5.4300, 43.5000])
T2: tensor([ 2.4000, 5.5000, -3.4400, -5.4300, 43.0000])
tensor([ True, False, True, True, False])

示例 2

下面的 Python 程式演示瞭如何逐元素比較兩個二維張量。

# import necessary library
import torch

# create two 4x3 2D tensors
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 above created tensors
print("T1:", T1)
print("T2:", T2)

# Conpare tensors T1 and T2 element-wise
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 necessary library
import torch

# Create two tensors
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 above created tensors
print("T1:", T1)
print("T2:", T2)

# Compare the tensors T1 and T2 element-wise
print(torch.eq(T1, T2))

輸出

T1: tensor([ 2.4000, 5.4000, -3.4400, -5.4300, 43.5000])
T2: tensor([[ 2.4000, 5.5000, -3.4400, -5.4300, 7.0000],
            [ 1.0000, 5.4000, 3.8800, 4.0000, 5.7800]])
tensor([[ True, False, True, True, False],
         [False, True, False, False, False]])

更新於:2021年11月6日

10K+ 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.