ทำให้ forward method สมบูรณ์
หลังจากกำหนดเลเยอร์ต่าง ๆ ใน __init__ method แล้ว forward method จะกำหนดว่าข้อมูลไหลผ่านเลเยอร์เหล่านั้นอย่างไร ใน PyTorch Lightning การแยกส่วนนี้ช่วยให้โค้ดสะอาดและดูแลรักษาได้ง่าย คุณได้เรียนรู้การจัดโครงสร้าง constructor ไปแล้ว ถึงเวลาโฟกัสที่ forward pass เพื่อให้ logic การจำแนกประเภทชัดเจนและพร้อมสำหรับการเทรน โดยในแบบฝึกหัดนี้ เลเยอร์ใน __init__ ถูกกำหนดไว้ให้แล้ว จึงสามารถมุ่งเน้นที่ forward flow ได้เลย
ได้นำเข้า lightning.pytorch และ torch.nn ในชื่อ pl และ nn ไว้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
AI Models แบบ Scalable ด้วย PyTorch Lightning
คำแนะนำการฝึกหัด
- เขียน
forwardmethod ภายในClassifierModel - เพิ่ม ReLU activation หลัง hidden layer
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
class ClassifierModel(pl.LightningModule):
def __init__(self, input_dim, hidden_dim, output_dim):
super().__init__()
self.hidden = nn.Linear(input_dim, hidden_dim)
self.output = nn.Linear(hidden_dim, output_dim)
# Define forward method
def ____(self, ____):
# Complete the forward pass
x = self.hidden(x)
x = ____(x)
x = self.output(x)
return x