ComeçarComece de graça

Parte 2: Entendendo modelos GRU

Agora você vai ver como usar modelos Keras para aceitar lotes de entrada com tamanho arbitrário. A capacidade de aceitar lotes de tamanho arbitrário é importante por muitos motivos. Por exemplo, isso permite definir um único modelo Keras e experimentar diferentes tamanhos de lote durante o treinamento, sem precisar mudar nada no modelo.

Para este exercício, keras e numpy (como np) já foram importados.

Este exercício faz parte do curso

Machine Translation with Keras

Ver curso

Instruções do exercício

  • Defina uma camada de entrada que aceite um lote de dados de tamanho arbitrário, com comprimento de sequência 3 e tamanho de entrada 4.
  • Defina uma camada GRU com 10 unidades ocultas que consuma a entrada anterior e produza uma saída.
  • Defina um Model chamado model que receba a camada de entrada como entrada e produza a saída da camada GRU como saída. Lembre-se de que você pode usar a sintaxe keras.models.Model(<argument>=<value>) para definir um modelo.
  • Faça a predição da saída do modelo para x1 e x2.

Exercício interativo prático

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

# Define an input layer
inp = keras.layers.____(____=(____))
# Define a GRU layer that takes in the input
gru_out = keras.layers.____(____)(____)
# Define a model that outputs the GRU output
____ = keras.models.____(inputs=____, outputs=____)

x1 = np.random.normal(size=(2,3,4))
x2 = np.random.normal(size=(5,3,4))

# Get the output of the model and print the result
y1 = ____.____(____)
y2 = ____.____(____)
print("shape (y1) = ", y1.shape, " shape (y2) = ", y2.shape)
Editar e executar o código