ComenzarEmpieza gratis

Definir un modelo con múltiples entradas

En algunos casos, la API secuencial no será lo suficientemente flexible para adaptarse a la arquitectura de modelo que quieres y tendrás que usar la API funcional. Por ejemplo, si quieres entrenar conjuntamente dos modelos con arquitecturas diferentes, necesitarás usar la API funcional para lograrlo. En este ejercicio, veremos cómo hacerlo. También usaremos el método .summary() para examinar la arquitectura del modelo conjunto.

Ten en cuenta que keras ya se ha importado desde tensorflow. Además, las capas de entrada del primer y del segundo modelo se han definido como m1_inputs y m2_inputs, respectivamente. Observa que los dos modelos tienen la misma arquitectura, pero uno usa una activación sigmoid en la primera capa y el otro usa relu.

Este ejercicio forma parte del curso

Introducción a TensorFlow en Python

Ver curso

Instrucciones del ejercicio

  • Pasa la capa de entrada del modelo 1 a su primera capa y la primera capa del modelo 1 a su segunda capa.
  • Pasa la capa de entrada del modelo 2 a su primera capa y la primera capa del modelo 2 a su segunda capa.
  • Usa la operación add() para combinar las segundas capas del modelo 1 y del modelo 2.
  • Completa la definición del modelo funcional.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código