Začněte nyníZačněte zdarma

Definice modelu s více vstupy

V některých případech nebude sekvenční API dostatečně flexibilní pro požadovanou architekturu modelu a bude potřeba použít funkcionální API. Pokud chceš například společně trénovat dva modely s různými architekturami, funkcionální API je právě to, co potřebuješ. V tomto cvičení si ukážeme, jak na to, a použijeme metodu .summary() k prozkoumání architektury spojeného modelu.

Povšimni si, že keras už je za tebe naimportován z tensorflow. Vstupní vrstvy prvního a druhého modelu jsou definovány jako m1_inputs, resp. m2_inputs. Oba modely mají stejnou architekturu, ale jeden z nich používá v první vrstvě aktivaci sigmoid a druhý relu.

Toto cvičení je součástí kurzu

Úvod do TensorFlow v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Předej vstupní vrstvu modelu 1 do jeho první vrstvy a první vrstvu modelu 1 do jeho druhé vrstvy.
  • Předej vstupní vrstvu modelu 2 do jeho první vrstvy a první vrstvu modelu 2 do jeho druhé vrstvy.
  • Pomocí operace add() zkombinuj druhé vrstvy modelu 1 a modelu 2.
  • Dokonči definici funkcionálního modelu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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())
Upravit a spustit kód