Allena un modello CNN per il testo
Ottimo lavoro nel definire la classe TextClassificationCNN. Ora PyBooks deve addestrare il modello per ottimizzarlo nell'analisi del sentiment delle recensioni dei libri.
I seguenti pacchetti sono già stati importati per te:
torch, torch.nn come nn, torch.nn.functional come F, torch.optim come optim.
È stata anche creata un'istanza di TextClassificationCNN() con gli argomenti vocab_size ed embed_dim, caricata e salvata come model.
Questo esercizio fa parte del corso
Deep Learning per il testo con PyTorch
Istruzioni dell'esercizio
- Definisci una funzione di perdita usata per la classificazione binaria e salvala come
criterion. - Azzera i gradienti all'inizio del ciclo di training.
- Aggiorna i parametri alla fine del ciclo.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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!')