Parte 2: Entendendo os modelos GRU
Agora você vai ver como usar os modelos Keras pra aceitar lotes de entradas de tamanhos aleatórios. A capacidade de aceitar lotes de tamanhos aleatórios é importante por vários motivos. Por exemplo, isso permite que você defina um único modelo Keras e experimente diferentes tamanhos de lote durante a fase de treinamento do modelo, sem precisar alterar nada no modelo.
Para este exercício, keras e numpy (como np) já foram importados.
Este exercício faz parte do curso
Tradução automática com Keras
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 consome a entrada anterior e produz uma saída.
- Defina um modelo chamado “
model” que pega a camada de entrada como entrada e produz a saída da camada GRU como saída. Lembre-se de que você pode usar a sintaxekeras.models.Model(<argument>=<value>)para definir um modelo. - Preveja o resultado do modelo para
x1ex2.
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)