เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การสร้าง label แบบ one-hot encoding

One-hot encoding จะแปลง label ที่เป็นจำนวนเต็มให้กลายเป็นเวกเตอร์ที่มี N องค์ประกอบ โดย N คือจำนวน class เวกเตอร์นี้จะมีค่าเป็น 0 ทั้งหมด ยกเว้นตำแหน่งที่ถูกต้องซึ่งจะมีค่าเป็น 1

ในแบบฝึกหัดนี้ จะได้ลองสร้างเวกเตอร์ one-hot encoded สำหรับ y ด้วยตนเองก่อน แล้วจึงใช้ PyTorch เพื่อให้กระบวนการนี้ง่ายขึ้น ชุดข้อมูลมีทั้งหมด 3 class (0, 1, 2)

มีการ import numpy (np), torch.nn.functional (F), และ torch ไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Learning เบื้องต้นด้วย PyTorch

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ทำ one-hot encoding กับ label จริง y ด้วยตนเองโดยใช้ NumPy array ที่เตรียมไว้ แล้วบันทึกผลลัพธ์เป็น one_hot_numpy
  • ใช้ PyTorch ในการทำ one-hot encoding กับ y แล้วบันทึกผลลัพธ์เป็น one_hot_pytorch

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

y = 1
num_classes = 3

# Create the one-hot encoded vector using NumPy
one_hot_numpy = np.array([____, ____, ____])

# Create the one-hot encoded vector using PyTorch
one_hot_pytorch = F.____(torch.tensor(y), num_classes=____)

print("One-hot vector using NumPy:", one_hot_numpy)
print("One-hot vector using PyTorch:", one_hot_pytorch)
แก้ไขและรันโค้ด