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

วิธีบวกทิลเซอร์แบบองค์ประกอบ (Element-wise Addition) ใน PyTorch

เราใช้ 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.]])