ในการเปรียบเทียบ 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]])