Zacznij terazZacznij za darmo

Testowanie modelu CNN do analizy wydźwięku

Model jest już wytrenowany, a PyBooks chce sprawdzić jego działanie na nowych recenzjach książek.

Zadaniem jest określenie, czy wydźwięk recenzji jest pozytywny, czy negatywny.

Następujące pakiety zostały już zaimportowane: torch, torch.nn jako nn, torch.nn.functional jako F, torch.optim jako optim.

Instancja klasy TextClassificationCNN() z argumentami vocab_size i embed_dim została załadowana i zapisana jako model.

To ćwiczenie jest częścią kursu

Uczenie głębokie dla tekstu z PyTorch

Zobacz kurs

Instrukcje do ćwiczenia

  • Przejdź przez listę book_reviews, konwertując słowa w każdej recenzji na tensor.
  • Pobierz wynik modelu dla każdego input_tensor.
  • Znajdź indeks najbardziej prawdopodobnej kategorii wydźwięku na podstawie outputs.data.
  • Wyodrębnij wartość predicted_label i przekonwertuj ją na ciąg znaków opisujący wydźwięk, gdzie 1 oznacza etykietę „Positive".

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

book_reviews = [
    "I love this book".split(),
    "I do not like this book".split()
]
for review in book_reviews:
    # Convert the review words into tensor form
    input_tensor = ____.____([word_to_ix[w] for w in review], dtype=torch.long).unsqueeze(0) 
    # Get the model's output
    outputs = model(____)
    # Find the index of the most likely sentiment category
    _, predicted_label = ____.____(outputs.data, 1)
    # Convert the predicted label into a sentiment string
    sentiment = "Positive" if ____ else "Negative"
    print(f"Book Review: {' '.join(review)}")
    print(f"Sentiment: {sentiment}\n")
Edytuj i uruchom kod