Embedding ใน PyTorch
PyBooks ประสบความสำเร็จกับระบบแนะนำหนังสือ แต่ระบบยังไม่ได้คำนึงถึงความหมายเชิงบริบทที่ซ่อนอยู่ในข้อความ embedding layer ที่มีอยู่ใน PyTorch สามารถเรียนรู้และแสดงความสัมพันธ์ระหว่างคำได้โดยตรงจากข้อมูล ทีมของคุณอยากลองนำความสามารถนี้มาพัฒนาระบบแนะนำหนังสือให้ดียิ่งขึ้น ช่วย implement ส่วนนี้กันได้เลย
มีการ import torch และ torch.nn เป็น nn ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning สำหรับข้อความด้วย PyTorch
คำแนะนำการฝึกหัด
- กำหนด index เฉพาะให้กับแต่ละคำใน
wordsแล้วบันทึกไว้ในword_to_idx - แปลง
word_to_idxเป็น PyTorch tensor แล้วบันทึกไว้ในinputs - สร้าง embedding layer โดยใช้
torchmodule ที่มี 10 มิติ - ส่ง tensor
inputsเข้า embedding layer แล้วตรวจสอบผลลัพธ์ที่ได้
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Map a unique index to each word
words = ["This", "book", "was", "fantastic", "I", "really", "love", "science", "fiction", "but", "the", "protagonist", "was", "rude", "sometimes"]
word_to_idx = {word: ____ for i, word in enumerate(____)}
# Convert word_to_idx to a tensor
inputs = ____.____([word_to_idx[w] for w in words])
# Initialize embedding layer with ten dimensions
embedding = nn.____(num_embeddings=len(words), embedding_dim=____)
# Pass the tensor to the embedding layer
output = embedding(____)
print(output)