Разделение данных с помощью LightningDataModule
Вам нужно реализовать метод setup в LightningDataModule. Правильное разделение набора данных гарантирует, что модель обучается на одной части данных, а оценивается на другой — это помогает избежать переобучения.
dataset уже импортирован заранее.
Это упражнение является частью курса
Масштабируемые модели ИИ с PyTorch Lightning
Инструкции к упражнению
- Импортируйте
random_split, чтобы разделить набор данных на обучающую и валидационную выборки. - Разделите набор данных на обучающую (80%) и валидационную (20%) выборки с помощью
random_split.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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, [____, ____])