LightningDataModule でデータを分割する
LightningDataModule 内の setup メソッドを完成させます。データセットを適切に分割することで、モデルは一方のサブセットで訓練され、もう一方で検証されるため、過学習を防げます。
dataset はすでにインポート済みです。
この演習はコースの一部です
PyTorch Lightning によるスケーラブルな AI モデルの構築
演習の手順
- データセットを訓練用と検証用に分割するために
random_splitをインポートします。 random_splitを使って、データセットを訓練用(80%)と検証用(20%)に分割します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import libraries
import lightning.pytorch as pl
from torch.utils.data import ____
class SplitDataModule(pl.LightningDataModule):
def __init__(self):
super().__init__()
self.train_data = None
self.val_data = None
def setup(self, stage=None):
# Split the dataset into training (80%) and validation (20%)
self.____, self.____ = random_split(dataset, [____, ____])