สร้าง DataLoader สำหรับการเทรน
เมื่อแบ่งชุดข้อมูลเรียบร้อยแล้ว ขั้นตอนต่อไปคือกำหนด data loader เพื่อส่งข้อมูลเป็น batch ในระหว่างการเทรน DataLoader ช่วยโหลดข้อมูลเข้าหน่วยความจำได้อย่างมีประสิทธิภาพ และรองรับการสุ่มลำดับข้อมูลเพื่อให้โมเดล generalize ได้ดีขึ้น ในแบบฝึกหัดนี้ ให้เติมโค้ดในเมธอด train_dataloader ให้สมบูรณ์
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
AI Models แบบ Scalable ด้วย PyTorch Lightning
คำแนะนำการฝึกหัด
- Import
DataLoader - Return
DataLoaderที่โหลดself.train_dataพร้อมเปิดใช้การสุ่มลำดับข้อมูลเพื่อให้โมเดล generalize ได้ดีขึ้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import libraries
from torch.utils.data import ____
import lightning.pytorch as pl
class LoaderDataModule(pl.LightningDataModule):
def __init__(self):
super().__init__()
self.train_data = None
self.val_data = None
def setup(self, stage=None):
self.train_data, self.val_data = random_split(dataset, [80, 20])
def train_dataloader(self):
# Complete DataLoader
return ____(____, batch_size=16, shuffle=____)