PyTorch เป็นเครื่องมือสำหรับการเรียนรู้เชิงลึกที่พัฒนาขึ้นโดย Facebook AI Research (FAIR) เป็นส่วนหนึ่งของโครงการ Torch ซึ่งเป็นชุดเครื่องมือที่ถูกออกแบบมาเพื่อช่วยในการพัฒนาและการสร้างโมเดลเชิงลึกอย่างได้ประสิทธิภาพ
ในบทความนี้เราจะเริ่มต้นด้วยการทำความรู้จักกับ Torch และ Tensor ที่เป็นส่วนสำคัญของ PyTorch
Torch:
Torch เป็นชุดเครื่องมือที่ถูกออกแบบมาสำหรับการเรียนรู้เชิงลึกที่ใช้ภาษา Lua ซึ่งเป็นภาษาโปรแกรมที่มีประสิทธิภาพในการประมวลผลข้อมูลขนาดใหญ่ โดย Torch มีการทำงานเร็วและมีความยืดหยุ่นสูงในการสร้างและปรับแต่งโมเดลเชิงลึก
Tensor:
Tensor เป็นโครงสร้างข้อมูลหลักใน PyTorch ที่ใช้เก็บข้อมูลและประมวลผลข้อมูลในรูปแบบหลายมิติ (เช่น 1 มิติ, 2 มิติ, 3 มิติ, หรือมากกว่า) ซึ่งทำให้ Tensor เป็นโครงสร้างพื้นฐานที่สำคัญในการสร้างและการทำงานกับโมเดลเชิงลึก
ต่อไปเราจะมาทดสอบการใช้งาน Torch และ Tensor ใน PyTorch
- การสร้าง Tensor:
เราสามารถสร้าง Tensor ใน PyTorch ได้โดยใช้คำสั่ง torch.Tensor() ซึ่งสามารถระบุขนาด (shape) ของ Tensor ได้
import torch
# สร้าง Tensor 1 มิติ
x = torch.Tensor([1, 2, 3, 4, 5])
# สร้าง Tensor 2 มิติ
y = torch.Tensor([[1, 2, 3], [4, 5, 6]])
# สร้าง Tensor 3 มิติ
z = torch.Tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print(x)
print(y)
print(z)
- การทำงานกับ Tensor:
เราสามารถทำงานกับ Tensor ได้หลายลักษณะ เช่น การบวก, การลบ, การคูณ, การหาร ฯลฯ โดยใช้คำสั่งทางคณิตศาสตร์
import torch
x = torch.Tensor([1, 2, 3])
y = torch.Tensor([4, 5, 6])
# การบวก
z = x + y
# การลบ
w = x - y
# การคูณ
v = x * y
# การหาร
u = x / y
print(z)
print(w)
print(v)
print(u)
- การสร้าง Tensor จากข้อมูลอื่น:
เรายังสามารถสร้าง Tensor จากข้อมูลอื่น เช่น Numpy array หรือ List โดยใช้คำสั่ง torch.from_numpy() หรือ torch.tensor()
import torch
import numpy as np
data = np.array([1, 2, 3, 4, 5])
# สร้าง Tensor จาก Numpy array
x = torch.from_numpy(data)
# สร้าง Tensor จาก List
y = torch.tensor([1, 2, 3, 4, 5])
print(x)
print(y)
นอกจากนี้ PyTorch ยังมีฟังก์ชันทางคณิตศาสตร์และการสร้าง Tensor ใหม่อื่นๆ อีกมากมาย เช่น torch.sum(), torch.mean(), torch.random(), torch.rand() เป็นต้น
นี่คือบทความแรกในชุดบทความเกี่ยวกับ PyTorch ที่จะช่วยให้คุณเข้าใจการใช้งาน Torch และ Tensor ใน PyTorch มากยิ่งขึ้น ในบทความถัดไป จะมีการพูดถึงการสร้างและการทำงานกับโมเดลเชิงลึกใน PyTorch อีกเยอะครับ
หวังว่าบทความนี้จะมีประโยชน์และทำให้คุณเข้าใจเกี่ยวกับ PyTorch และการใช้งาน Tensor ใน PyTorch ได้ดีขึ้น ขอบคุณที่ติดตามครับ.