1. Learn
  2. /
  3. Cursuri
  4. /
  5. Deep Learning intermediar cu PyTorch

Connected

exercițiu

Model PyTorch

Vei folosi abordarea OOP pentru a defini arhitectura modelului. Rține că acest lucru presupune crearea unei clase pentru model și definirea a două metode în interiorul ei:

  • .__init__(), în care definești straturile pe care vrei să le folosești;

  • forward(), în care definești ce se întâmplă cu datele de intrare ale modelului odată ce le primește; aici pasezi intrările prin straturile predefinite.

Hai să construim un model cu trei straturi liniare și activări ReLU. După ultimul strat liniar, ai nevoie de o activare sigmoid, potrivită pentru sarcini de clasificare binară, precum problema noastră de predicție a potabilității apei. Iată modelul definit cu nn.Sequential(), cu care poate ești mai familiarizat:

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

Hai să rescriem acest model ca o clasă!

Instrucțiuni

100 XP
  • În metoda .__init__(), definește cele trei straturi liniare cu dimensiunile corespunzătoare definiției modelului furnizate și atribuie-le variabilelor self.fc1, self.fc2 și, respectiv, self.fc3.
  • În metoda forward(), pasează intrarea modelului x prin toate straturile, adăugând funcțiile de activare după fiecare, similar cu modul în care este deja realizat pentru primul strat.