Osadzanie w PyTorchu
PyBooks odniósł sukces dzięki systemowi rekomendacji książek. Nie uwzględnia on jednak niektórych zależności semantycznych zawartych w tekście. Wbudowana warstwa osadzania (embedding) w PyTorchu potrafi uczyć się relacji między słowami bezpośrednio z danych i je reprezentować. Twój zespół chce zbadać tę możliwość, aby udoskonalić system rekomendacji. Czy możesz pomóc w jej implementacji?
torch oraz torch.nn jako nn zostały już zaimportowane.
To ćwiczenie jest częścią kursu
Uczenie głębokie dla tekstu z PyTorch
Instrukcje do ćwiczenia
- Przypisz każdemu słowu ze zmiennej
wordsunikalny indeks i zapisz wynik doword_to_idx. - Przekształć
word_to_idxna tensor PyTorch i zapisz go doinputs. - Zainicjalizuj warstwę osadzania przy użyciu modułu
torch, korzystając z dziesięciu wymiarów. - Przekaż tensor
inputsdo warstwy osadzania i sprawdź wynik.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Map a unique index to each word
words = ["This", "book", "was", "fantastic", "I", "really", "love", "science", "fiction", "but", "the", "protagonist", "was", "rude", "sometimes"]
word_to_idx = {word: ____ for i, word in enumerate(____)}
# Convert word_to_idx to a tensor
inputs = ____.____([word_to_idx[w] for w in words])
# Initialize embedding layer with ten dimensions
embedding = nn.____(num_embeddings=len(words), embedding_dim=____)
# Pass the tensor to the embedding layer
output = embedding(____)
print(output)