ComeçarComece de graça

Parte 2: Caça ao tesouro

Agora tem uma pequena reviravolta na caça ao tesouro. Você esqueceu de levar o seu laptop e está só com um dispositivo com memória limitada. O código que você escrever deve ter menos de 4 linhas (sem contar comentários). Como você precisa deixar o código o mais compacto possível, vai usar list comprehension.

List comprehension é uma ótima forma de percorrer dados em uma única linha de código. Por exemplo, se você quer obter todos os números pares de uma lista de números, pode usar [n for n in range(100) if n%2==0]. Como você pode ver, list comprehension permite combinar laços for e condicionais if em uma única linha de código.

Este exercício faz parte do curso

Machine Translation with Keras

Ver curso

Instruções do exercício

  • Obtenha os IDs de palavras para os vetores one-hot codificados no treasure_map.
  • Pegue o tamanho do batch (a primeira dimensão) do mapa do tesouro e use-o para criar um laço for.
  • Obtenha as palavras da i-ésima frase iterando a i-ésima linha de word_ids enquanto ignora IDs de palavras iguais a zero.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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))
Editar e executar o código