Знакомство с LightningModule
Пора создать свой первый LightningModule! В этом практическом упражнении вы выстроите основную структуру процесса классификации: определите линейный слой, пропустите данные через него в методе forward и вычислите функцию потерь на шаге обучения. Такая чёткая структура закладывает прочную основу для дальнейших экспериментов с моделями.
Библиотеки torch и lightning.pytorch (импортированная как pl) уже загружены для вас.
Это упражнение является частью курса
Масштабируемые модели ИИ с PyTorch Lightning
Инструкции к упражнению
- Определите класс
LightModel, который наследуется отpl.LightningModule. - Определите линейный слой для преобразования входных данных, предполагая 16 входных признаков и 10 выходных классов.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Define the model class
class LightModel(____):
# Define a linear layer to transform your input
def __init__(self):
super().__init__()
self.layer = ____
def forward(self, x):
return self.layer(x)
def training_step(self, batch, batch_idx):
x, y = batch
logits = self(x)
loss = torch.nn.functional.cross_entropy(logits, y)
return loss