ÎncepețiÎncepe gratuit

Antrenează un model CNN pentru text

Bine ai făcut definind clasa TextClassificationCNN. PyBooks trebuie acum să antreneze modelul pentru a-l optimiza în vederea analizei de sentiment a recenziilor de cărți.

Următoarele pachete au fost deja importate pentru tine: torch, torch.nn ca nn, torch.nn.functional ca F, torch.optim ca optim.

O instanță a clasei TextClassificationCNN() cu argumentele vocab_size și embed_dim a fost, de asemenea, creată și salvată ca model.

Acest exercițiu face parte din cursul

Deep Learning pentru text cu PyTorch

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește o funcție de pierdere folosită pentru clasificarea binară și salveaz-o ca criterion.
  • Resetează gradienții la zero la începutul buclei de antrenament.
  • Actualizează parametrii la sfârșitul buclei.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Define the loss function
criterion = nn.____()
optimizer = optim.SGD(model.parameters(), lr=0.1)

for epoch in range(10):
    for sentence, label in data:     
        # Clear the gradients
        model.____()
        sentence = torch.LongTensor([word_to_ix.get(w, 0) for w in sentence]).unsqueeze(0) 
        label = torch.LongTensor([int(label)])
        outputs = model(sentence)
        loss = criterion(outputs, label)
        loss.backward()
        # Update the parameters
        ____.____()
print('Training complete!')
Editează și rulează codul