Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีเปรียบเทียบ Tensor สองอันใน PyTorch

ในการเปรียบเทียบ tensor สองอันแบบองค์ประกอบต่อองค์ประกอบใน PyTorch เราใช้เมธอด torch.eq() มันเปรียบเทียบองค์ประกอบที่ตรงกันและคืนค่า "True" หากองค์ประกอบสองตัวเหมือนกัน มิฉะนั้นคืนค่า "False" เราสามารถเปรียบเทียบ tensor สองอันที่มีมิติเท่าหรือต่างกันได้ แต่ขนาดของ tensor ทั้งสองต้องตรงกันที่มิติ non-singleton

ขั้นตอน

  • นำเข้าไลบรารีที่จำเป็น ในตัวอย่าง Python ทั้งหมดต่อไปนี้ ไลบรารี Python ที่จำเป็นคือ torch ตรวจสอบให้แน่ใจว่าคุณติดตั้งแล้ว

  • สร้าง PyTorch tensor และพิมพ์มัน

  • คำนวณ torch.eq(input1, input2) มันคืนค่า tensor ของ "True" และ/หรือ "False" มันเปรียบเทียบ tensor แบบองค์ประกอบต่อองค์ประกอบ และคืนค่า True หากองค์ประกอบที่ตรงกันเท่ากัน มิฉะนั้นคืนค่า False

  • พิมพ์ tensor ที่คืนค่า

ตัวอย่างที่ 1

โปรแกรม Python ต่อไปนี้แสดงวิธีเปรียบเทียบ 1-D tensor สองอันแบบองค์ประกอบต่อองค์ประกอบ

# นำเข้าไลบรารีที่จำเป็น
import torch

# สร้าง tensor สองอัน
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])

# พิมพ์ tensor ที่สร้างข้างต้น
print("T1:", T1)
print("T2:", T2)

# เปรียบเทียบ tensor T1 และ T2 แบบองค์ประกอบต่อองค์ประกอบ
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 ต่อไปนี้แสดงวิธีเปรียบเทียบ 2-D tensor สองอันแบบองค์ประกอบต่อองค์ประกอบ

# นำเข้าไลบรารีที่จำเป็น
import torch

# สร้าง 2D tensor 4x3 สองอัน
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]])

# พิมพ์ tensor ที่สร้างข้างต้น
print("T1:", T1)
print("T2:", T2)

# เปรียบเทียบ tensor 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 ต่อไปนี้แสดงวิธีเปรียบเทียบ 1-D tensor กับ 2-D tensor แบบองค์ประกอบต่อองค์ประกอบ

# นำเข้าไลบรารีที่จำเป็น
import torch

# สร้าง tensor สองอัน
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]])

# พิมพ์ tensor ที่สร้างข้างต้น
print("T1:", T1)
print("T2:", T2)

# เปรียบเทียบ tensor T1 และ T2 แบบองค์ประกอบต่อองค์ประกอบ
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]])