Kom igångKom igång gratis

Definiera en modell med flera indata

I vissa fall är det sekventiella API:et inte tillräckligt flexibelt för den modellarkitektur du vill använda – då behöver du använda det funktionella API:et i stället. Om du till exempel vill träna två modeller med olika arkitekturer gemensamt måste du använda det funktionella API:et. I den här övningen ser vi hur det går till. Vi använder också metoden .summary() för att undersöka den kombinerade modellens arkitektur.

Observera att keras redan har importerats från tensorflow. Dessutom har indatalagren för den första och andra modellen definierats som m1_inputs respektive m2_inputs. De två modellerna har samma arkitektur, men en av dem använder en sigmoid-aktivering i det första lagret och den andra använder relu.

Den här övningen är en del av kursen

Introduktion till TensorFlow i Python

Visa kurs

Övningsinstruktioner

  • Skicka modell 1:s indatalager till dess första lager och modell 1:s första lager till dess andra lager.
  • Skicka modell 2:s indatalager till dess första lager och modell 2:s första lager till dess andra lager.
  • Använd add()-operationen för att kombinera de andra lagren från modell 1 och modell 2.
  • Slutför definitionen av den funktionella modellen.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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())
Redigera och kör kod