BaşlayınÜcretsiz Başlayın

Transformer modelini eğitme ve test etme

TransformerEncoder modeli hazırken, PyBooks'taki bir sonraki adım modeli örnek yorumlar üzerinde eğitmek ve performansını değerlendirmek. Bu örnek yorumlar üzerinde eğitim, PyBooks'un geniş arşivindeki duygu eğilimlerini anlamasına yardımcı olacak. İyi performans gösteren bir modelle, PyBooks duygu analizini otomatikleştirerek okuyuculara daha isabetli öneriler ve geri bildirimler sunabilir.

Aşağıdaki paketler senin için içe aktarıldı: torch, nn, optim.

TransformerEncoder sınıfının model örneği, token_embeddings ile train_sentences, train_labels, test_sentences, test_labels senin için önceden yüklendi.

Bu egzersiz

PyTorch ile Metin için Deep Learning

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Eğitim döngüsünde, cümleleri token'lara ayır ve gömlemeleri istifle.
  • Gradients'ları sıfırla ve backward geçişi yap.
  • predict fonksiyonunda, gradient hesaplamalarını devre dışı bırak, sonra duygu tahminini al.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

for epoch in range(5):  
    for sentence, label in zip(train_sentences, train_labels):
        # Split the sentences into tokens and stack the embeddings
        tokens = ____
        data = torch.____([token_embeddings[token] for token in ____], dim=1)
        output = model(data)
        loss = criterion(output, torch.tensor([label]))
        # Zero the gradients and perform a backward pass
        optimizer.____()
        loss.____()
        optimizer.step()
        print(f"Epoch {epoch}, Loss: {loss.item()}")

def predict(sentence):
    model.eval()
    # Deactivate the gradient computations and get the sentiment prediction.
    with torch.____():
        tokens = sentence.split()
        data = torch.stack([token_embeddings.get(token, torch.rand((1, 512))) for token in tokens], dim=1)
        output = model(data)
        predicted = torch.____(output, dim=1)
        return "Positive" if predicted.item() == 1 else "Negative"

sample_sentence = "This product can be better"
print(f"'{sample_sentence}' is {predict(sample_sentence)}")
Kodu Düzenle ve Çalıştır