1. Learn
  2. /
  3. 课程
  4. /
  5. Fördjupad djupinlärning med PyTorch

Connected

道练习

PyTorch-modell

Du ska använda det objektorienterade programmeringsättet för att definiera modellarkitekturen. Det innebär att du skapar en modellklass och definierar två metoder i den:

  • .__init__(), där du definierar de lager du vill använda;

  • forward(), där du definierar vad som händer med modellens indata när den tar emot dem – det är här du skickar indata genom de fördefinierade lagren.

Låt oss bygga en modell med tre linjära lager och ReLU-aktiveringar. Efter det sista linjära lagret behöver du en sigmoid-aktivering i stället, vilket passar bra för binära klassificeringsuppgifter som vårt problem med dricksvattenbedömning. Här är modellen definierad med nn.Sequential(), som du kanske är mer bekant med:

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

Låt oss skriva om den här modellen som en klass!

说明

100 XP
  • I metoden .__init__() definierar du de tre linjära lagren med dimensioner som motsvarar den angivna modelldefinitionen och tilldelar dem till self.fc1, self.fc2 respektive self.fc3.
  • I metoden forward() skickar du modellens indata x genom alla lager och lägger till aktiveringar efter dem, på liknande sätt som redan görs för det första lagret.