LoslegenKostenlos loslegen

Teil 2: Schatzsuche

Jetzt kommt eine kleine Überraschung bei der Schatzsuche. Du hast deinen Laptop vergessen und hast nur ein Gerät mit wenig Speicher dabei. Der Code, den du schreibst, sollte weniger als 4 Zeilen lang sein (ohne Kommentare). Da du den Code so kompakt wie möglich halten musst, wirst du Listenkomprimierung verwenden.

Listenkomprimierung ist eine super Möglichkeit, Daten mit nur einer Zeile Code durchzugehen. Wenn du zum Beispiel alle geraden Zahlen aus einer Zahlenliste haben willst, kannst du Folgendes machen: [n for n in range(100) if n%2==0]. Wie du siehst, kannst du mit Listenkomprimierung „ for “-Schleifen und „ if “-Anweisungen in einer einzigen Codezeile zusammenfassen.

Diese Übung ist Teil des Kurses

Maschinelle Übersetzung mit Keras

Kurs anzeigen

Anleitung zur Übung

  • Hol dir die Wort-IDs für die Onehot-codierten Vektoren in „ treasure_map “.
  • Hol dir die Batchgröße (die allererste Dimension) der Schatzkarte und mach damit eine for-Schleife.
  • Hol dir die Wörter des i-ten Satzes, indem du die i-te Zeile von „ word_ids “ durchläufst und dabei alle Wort-IDs ignorierst, die gleich Null sind.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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))
Code bearbeiten und ausführen