ComeçarComece de graça

Definindo um modelo com múltiplas entradas

Em alguns casos, a API sequencial não será flexível o suficiente para acomodar a arquitetura de modelo desejada, e você precisará usar a API funcional. Se, por exemplo, você quiser treinar conjuntamente dois modelos com arquiteturas diferentes, será necessário usar a API funcional para isso. Neste exercício, vamos ver como fazer isso. Também usaremos o método .summary() para examinar a arquitetura do modelo conjunto.

Note que keras já 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 usa a ativação sigmoid na primeira camada e o outro usa relu.

Este exercício faz parte do curso

Introdução ao TensorFlow em Python

Ver curso

Instruções do 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 dos modelos 1 e 2.
  • Complete a definição do modelo funcional.

Exercício interativo prático

Experimente este exercício completando 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())
Editar e executar o código