訓練用 DataLoader を作成する
データセットの分割が完了したので、次は訓練中にデータをバッチ単位で供給するデータローダーを定義します。DataLoader はデータを効率的にメモリへ読み込み、シャッフルによって汎化性能の向上を図れます。この演習では、train_dataloader メソッドを完成させましょう。
この演習はコースの一部です
PyTorch Lightning によるスケーラブルな AI モデルの構築
演習の手順
DataLoaderをインポートします。self.train_dataを読み込むDataLoaderを返し、汎化性能を高めるためにシャッフルを有効にします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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=____)