1. Learn
  2. /
  3. Courses
  4. /
  5. Intermediate Deep Learning with PyTorch

Connected

Exercise

PyTorch model

Pro definici architektury modelu použiješ objektově orientovaný přístup. Ten vyžaduje vytvoření třídy modelu a definici dvou metod uvnitř ní:

  • .__init__(), kde definuješ vrstvy, které chceš použít;

  • forward(), kde definuješ, co se stane se vstupy modelu, jakmile je obdrží – tady vstupy procházejí předem definovanými vrstvami.

Postavme model se třemi lineárními vrstvami a aktivacemi ReLU. Po poslední lineární vrstvě použiješ aktivaci sigmoid, která se hodí pro úlohy binární klasifikace – jako je náš problém předpovědi pitnosti vody. Tady je model definovaný pomocí nn.Sequential(), který možná znáš lépe:

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

Pojďme tento model přepsat jako třídu!

Instructions

100 XP
  • V metodě .__init__() definuj tři lineární vrstvy s dimenzemi odpovídajícími výše uvedené definici modelu a přiřaď je do self.fc1, self.fc2 a self.fc3.
  • V metodě forward() předej vstup modelu x přes všechny vrstvy a nezapomeň za ně přidat aktivace – stejně jako je to již udělané pro první vrstvu.