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
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!')