Definição de um modelo de múltiplas entradas
Em alguns casos, o API sequencial não será suficientemente flexível para acomodar a arquitetura de modelo desejada e você precisará usar o API funcional. Se, por exemplo, você quiser treinar dois modelos com arquiteturas diferentes em conjunto, precisará usar o API funcional para fazer isso. Neste exercício, veremos como fazer isso. Também usaremos o método .summary()
para examinar a arquitetura do modelo conjunto.
Observe que keras
foi importado de tensorflow
para você. Além disso, as camadas de entrada do primeiro e do segundo modelos foram definidas como m1_inputs
e m2_inputs
, respectivamente. Observe que os dois modelos têm a mesma arquitetura, mas um deles usa uma ativação sigmoid
na primeira camada e o outro usa uma relu
.
Este exercício faz parte do curso
Introdução ao TensorFlow em Python
Instruções de exercício
- Passe a camada de entrada do modelo 1 para sua primeira camada e a primeira camada do modelo 1 para sua segunda camada.
- Passe a camada de entrada do modelo 2 para sua primeira camada e a primeira camada do modelo 2 para sua segunda camada.
- Use a operação
add()
para combinar as segundas camadas do modelo 1 e do modelo 2. - Conclua a definição do modelo funcional.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# For model 1, pass the input layer to layer 1 and layer 1 to layer 2
m1_layer1 = keras.layers.Dense(12, activation='sigmoid')(____)
m1_layer2 = keras.layers.Dense(4, activation='softmax')(____)
# For model 2, pass the input layer to layer 1 and layer 1 to layer 2
m2_layer1 = keras.layers.Dense(12, activation='relu')(____)
m2_layer2 = keras.layers.Dense(4, activation='softmax')(____)
# Merge model outputs and define a functional model
merged = keras.layers.add([m1_layer2, ____])
model = keras.Model(inputs=[____, m2_inputs], outputs=____)
# Print a model summary
print(model.summary())