Zacznij terazZacznij za darmo

Część 2: Polowanie na skarby

To polowanie na skarby ma pewien haczyk. Zapomniałeś laptopa i masz przy sobie tylko urządzenie z ograniczoną pamięcią. Kod, który napiszesz, nie może przekraczać 4 linii (nie licząc komentarzy). Żeby był jak najbardziej zwięzły, skorzystasz z list składanych (list comprehension).

List składane to świetny sposób na iterowanie po danych w jednej linii kodu. Na przykład, aby wyodrębnić wszystkie liczby parzyste z listy, możesz napisać [n for n in range(100) if n%2==0]. Jak widać, lista składana pozwala połączyć pętlę for i instrukcję if w jednej linii.

To ćwiczenie jest częścią kursu

Tłumaczenie maszynowe z Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Pobierz identyfikatory słów (word IDs) dla wektorów zakodowanych metodą one-hot z treasure_map.
  • Pobierz rozmiar wsadu (pierwszy wymiar) mapy skarbów i użyj go do utworzenia pętli for.
  • Pobierz słowa i-tego zdania, iterując po i-tym wierszu word_ids i pomijając identyfikatory słów równe zero.

Interaktywne ćwiczenie praktyczne

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

# Get the word IDs from the treasure map
word_ids = np.argmax(____, axis=-1)
# Get the batch size from the treasure map
for i in range(treasure_map.shape[____]):
  	# Get all the words of the i-th sentence using list comprehension
	words = [index2word[____] for wid in word_ids[____] if wid != ____]
	print("Instruction ", i+1, ": ", ' '.join(words))
Edytuj i uruchom kod