เราใช้ torch.add() เพื่อบวกทิลเซอร์แบบองค์ประกอบใน PyTorch เมธอดนี้จะบวกองค์ประกอบที่ตรงกันของทิลเซอร์ สามารถบวกสเกลาร์หรือทิลเซอร์เข้ากับทิลเซอร์อื่นได้ รองรับทิลเซอร์ที่มีมิติเท่ากันหรือต่างกัน ผลลัพธ์จะมีมิติเท่ากับทิลเซอร์ที่มีมิติสูงกว่า
ขั้นตอนการทำงาน
นำเข้าไลบรารี torch ตรวจสอบว่าติดตั้งแล้ว
กำหนดทิลเซอร์ PyTorch สองตัวขึ้นไปและพิมพ์ค่า ถ้าต้องการบวกสเกลาร์ ให้กำหนดค่าสเกลาร์
ใช้ torch.add() บวกทิลเซอร์สองตัวขึ้นไป และกำหนดผลลัพธ์ให้ตัวแปรใหม่ สามารถบวกสเกลาร์กับทิลเซอร์ได้ ไม่เปลี่ยนแปลงทิลเซอร์ต้นฉบับ
พิมพ์ทิลเซอร์ผลลัพธ์
ตัวอย่างที่ 1: บวกสเกลาร์เข้ากับทิลเซอร์
โปรแกรมนี้แสดง 3 วิธีในการบวกสเกลาร์เข้ากับทิลเซอร์
import torch
# สร้างทิลเซอร์
t = torch.Tensor([1, 2, 3, 2])
print("Original Tensor t:\n", t)
# บวกค่าสเกลาร์เข้ากับทิลเซอร์
v = torch.add(t, 10)
print("Element-wise addition result:\n", v)
# วิธีเดียวกันแต่ใช้ทิลเซอร์แทนสเกลาร์
t1 = torch.Tensor([10])
w = torch.add(t, t1)
print("Element-wise addition result:\n", w)
# อีกวิธีหนึ่ง สร้างทิลเซอร์ที่มีค่า 10 ทุกองค์ประกอบ
t2 = torch.Tensor([10, 10, 10, 10])
x = torch.add(t, t2)
print("Element-wise addition result:\n", x)
ผลลัพธ์
Original Tensor t: tensor([1., 2., 3., 2.]) Element-wise addition result: tensor([11., 12., 13., 12.]) Element-wise addition result: tensor([11., 12., 13., 12.]) Element-wise addition result: tensor([11., 12., 13., 12.])
ตัวอย่างที่ 2: บวกทิลเซอร์ 1D และ 2D
import torch
# สร้างทิลเซอร์ 2D
T1 = torch.Tensor([[1, 2], [4, 5]])
# สร้างทิลเซอร์ 1D
T2 = torch.Tensor([10]) # หรือ torch.Tensor([10, 10])
print("T1:\n", T1)
print("T2:\n", T2)
# บวกทิลเซอร์ 1D เข้ากับ 2D
v = torch.add(T1, T2)
print("Element-wise addition result:\n", v)
ผลลัพธ์
T1: tensor([[1., 2.], [4., 5.]]) T2: tensor([10.]) Element-wise addition result: tensor([[11., 12.], [14., 15.]])
ตัวอย่างที่ 3: บวกทิลเซอร์ 2D กับทิลเซอร์ 2D
import torch
# สร้างทิลเซอร์ 2D สองตัว
T1 = torch.Tensor([[1, 2], [3, 4]])
T2 = torch.Tensor([[0, 3], [4, 1]])
print("T1:\n", T1)
print("T2:\n", T2)
# บวกทิลเซอร์ 2D ทั้งสองตัว
v = torch.add(T1, T2)
print("Element-wise addition result:\n", v)
ผลลัพธ์
T1: tensor([[1., 2.], [3., 4.]]) T2: tensor([[0., 3.], [4., 1.]]) Element-wise addition result: tensor([[1., 5.], [7., 5.]])