Kom igångKom igång gratis

Del 2: Skattkarta

Nu tillkommer en liten twist i skattjakten. Du har glömt din laptop hemma och har bara en enhet med begränsat minne till hands. Koden du skriver ska vara kortare än 4 rader (exklusive kommentarer). Eftersom koden måste vara så kompakt som möjligt ska du använda listomfattning.

Listomfattning är ett smidigt sätt att loopa igenom data på en enda kodrad. Om du till exempel vill hämta alla jämna tal från en lista med tal kan du skriva [n for n in range(100) if n%2==0]. Som du ser låter listomfattning dig kombinera for-loopar och if-satser på en enda rad.

Den här övningen är en del av kursen

Maskinöversättning med Keras

Visa kurs

Övningsinstruktioner

  • Hämta ord-ID:n för de one-hot-kodade vektorerna i treasure_map.
  • Hämta batchstorleken (den allra första dimensionen) för skattkartan och använd den för att skapa en for-loop.
  • Hämta orden i den i:te meningen genom att iterera den i:te raden i word_ids och ignorera ord-ID:n som är lika med noll.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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))
Redigera och kör kod