1. Learn
  2. /
  3. Курси
  4. /
  5. Середній рівень Deep Learning з PyTorch

Connected

вправа

Модель PyTorch

Ви використаєте ООП‑підхід, щоб визначити архітектуру моделі. Нагадаємо, що для цього потрібно створити клас моделі та визначити в ньому два методи:

  • .__init__(), у якому ви задаєте шари, які хочете використати;

  • forward(), у якому ви визначаєте, що відбувається з вхідними даними моделі після їх отримання; саме тут ви пропускаєте входи через попередньо визначені шари.

Створімо модель із трьома лінійними шарами та активаціями ReLU. Після останнього лінійного шару потрібна активація sigmoid, що добре підходить для задач бінарної класифікації, як‑от наше прогнозування придатності води до пиття. Ось модель, визначена за допомогою nn.Sequential(), із якою ви, ймовірно, вже знайомі:

net = nn.Sequential(
  nn.Linear(9, 16),
  nn.ReLU(),
  nn.Linear(16, 8),
  nn.ReLU(),
  nn.Linear(8, 1),
  nn.Sigmoid(),
)

Перепишімо цю модель як клас!

Інструкції

100 XP
  • У методі .__init__() визначте три лінійні шари з розмірами, що відповідають наведеному визначенню моделі, і прив'яжіть їх відповідно до self.fc1, self.fc2 та self.fc3.
  • У методі forward() пропустіть вхід моделі x через усі шари, не забуваючи додати активації після них — подібно до того, як це вже зроблено для першого шару.