Začněte nyníZačněte zdarma

Trénování CNN modelu na textu

Skvělá práce při definování třídy TextClassificationCNN. PyBooks teď potřebuje model natrénovat, aby co nejpřesněji analyzoval sentiment knižních recenzí.

Následující balíčky už jsou za tebe naimportovány: torch, torch.nn jako nn, torch.nn.functional jako F, torch.optim jako optim.

Instance třídy TextClassificationCNN() s argumenty vocab_size a embed_dim je také připravena a uložena jako model.

Toto cvičení je součástí kurzu

Deep Learning for Text with PyTorch

Zobrazit kurz

Pokyny k cvičení

  • Definuj ztrátovou funkci pro binární klasifikaci a ulož ji jako criterion.
  • Na začátku tréninkové smyčky vynuluj gradienty.
  • Na konci smyčky aktualizuj parametry modelu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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!')
Upravit a spustit kód