IniziaInizia gratis

Definire un modello con input multipli

In alcuni casi, la sequenziale API non è abbastanza flessibile per supportare l'architettura di modello che desideri e dovrai usare invece la functional API. Se, per esempio, vuoi addestrare congiuntamente due modelli con architetture diverse, dovrai usare la functional API. In questo esercizio vedremo come fare. Useremo anche il metodo .summary() per esaminare l'architettura del modello congiunto.

Nota che keras è già stato importato da tensorflow. Inoltre, i layer di input del primo e del secondo modello sono stati definiti rispettivamente come m1_inputs e m2_inputs. Nota che i due modelli hanno la stessa architettura, ma uno usa un'attivazione sigmoid nel primo layer e l'altro usa relu.

Questo esercizio fa parte del corso

Introduzione a TensorFlow in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Passa il layer di input del modello 1 al suo primo layer e il primo layer del modello 1 al suo secondo layer.
  • Passa il layer di input del modello 2 al suo primo layer e il primo layer del modello 2 al suo secondo layer.
  • Usa l'operazione add() per combinare i secondi layer del modello 1 e del modello 2.
  • Completa la definizione del modello funzionale.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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())
Modifica ed esegui il codice