ComeçarComece de graça

Parte 2: Caça ao tesouro

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

A compreensão de listas é uma ótima maneira de percorrer dados com uma única linha de código. Por exemplo, se você quer pegar todos os números pares de uma lista de números, você pode fazer assim: [n for n in range(100) if n%2==0]. for Como você pode ver, a compreensão de listas permite combinar loops de e e instruções de if em uma única linha de código.

Este exercício faz parte do curso

Tradução automática com Keras

Ver curso

Instruções do exercício

  • Pega os IDs das palavras para os vetores codificados como onehot no arquivo treasure_map.
  • Pega o tamanho do lote (a primeira dimensão) do mapa do tesouro e usa isso pra criar um loop for.
  • Pega as palavras da i-ésima frase repetindo a i-ésima linha do word_ids e ignorando os 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