Introduction to Torch and Tensor in Pytorch (Part 1)

Posted by


PyTorch เป็นเครื่องมือสำหรับการเรียนรู้เชิงลึกที่พัฒนาขึ้นโดย Facebook AI Research (FAIR) เป็นส่วนหนึ่งของโครงการ Torch ซึ่งเป็นชุดเครื่องมือที่ถูกออกแบบมาเพื่อช่วยในการพัฒนาและการสร้างโมเดลเชิงลึกอย่างได้ประสิทธิภาพ

ในบทความนี้เราจะเริ่มต้นด้วยการทำความรู้จักกับ Torch และ Tensor ที่เป็นส่วนสำคัญของ PyTorch

Torch:

Torch เป็นชุดเครื่องมือที่ถูกออกแบบมาสำหรับการเรียนรู้เชิงลึกที่ใช้ภาษา Lua ซึ่งเป็นภาษาโปรแกรมที่มีประสิทธิภาพในการประมวลผลข้อมูลขนาดใหญ่ โดย Torch มีการทำงานเร็วและมีความยืดหยุ่นสูงในการสร้างและปรับแต่งโมเดลเชิงลึก

Tensor:

Tensor เป็นโครงสร้างข้อมูลหลักใน PyTorch ที่ใช้เก็บข้อมูลและประมวลผลข้อมูลในรูปแบบหลายมิติ (เช่น 1 มิติ, 2 มิติ, 3 มิติ, หรือมากกว่า) ซึ่งทำให้ Tensor เป็นโครงสร้างพื้นฐานที่สำคัญในการสร้างและการทำงานกับโมเดลเชิงลึก

ต่อไปเราจะมาทดสอบการใช้งาน Torch และ Tensor ใน PyTorch

  1. การสร้าง 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)
  1. การทำงานกับ 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)
  1. การสร้าง 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 ได้ดีขึ้น ขอบคุณที่ติดตามครับ.