Реализация метода forward
После того как слои определены в методе __init__, метод forward задаёт порядок, в котором данные через них проходят. В PyTorch Lightning такое разделение делает код чистым и удобным для сопровождения. Вы уже знакомы со структурой конструктора — теперь сосредоточимся на прямом проходе, чтобы логика классификации была понятной и оптимальной для обучения. Слои в __init__ уже определены, так что вы можете полностью сосредоточиться на потоке данных.
Библиотеки lightning.pytorch и torch.nn уже импортированы как pl и nn.
Это упражнение является частью курса
Масштабируемые модели ИИ с PyTorch Lightning
Инструкции к упражнению
- Реализуйте метод
forwardвнутри классаClassifierModel. - Примените активацию ReLU после скрытого слоя.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
class ClassifierModel(pl.LightningModule):
def __init__(self, input_dim, hidden_dim, output_dim):
super().__init__()
self.hidden = nn.Linear(input_dim, hidden_dim)
self.output = nn.Linear(hidden_dim, output_dim)
# Define forward method
def ____(self, ____):
# Complete the forward pass
x = self.hidden(x)
x = ____(x)
x = self.output(x)
return x