Ein Modell mit mehreren Eingaben definieren
In manchen Fällen ist die Sequential-API nicht flexibel genug für die gewünschte Modellarchitektur, und du musst stattdessen die Functional-API verwenden. Wenn du zum Beispiel zwei Modelle mit unterschiedlicher Architektur gemeinsam trainieren willst, brauchst du dafür die Functional-API. In dieser Übung schauen wir uns an, wie das geht. Außerdem verwenden wir die Methode .summary(), um die Architektur des gemeinsamen Modells zu untersuchen.
Beachte, dass keras bereits aus tensorflow importiert wurde. Zusätzlich wurden die Input-Layer der ersten bzw. zweiten Modelle als m1_inputs und m2_inputs definiert. Beachte auch: Die beiden Modelle haben die gleiche Architektur, aber eines verwendet im ersten Layer eine sigmoid-Aktivierung und das andere eine relu.
Diese Übung ist Teil des Kurses
Einführung in TensorFlow mit Python
Anleitung zur Übung
- Übergib den Input-Layer von Modell 1 an dessen ersten Layer und den ersten Layer von Modell 1 an dessen zweiten Layer.
- Übergib den Input-Layer von Modell 2 an dessen ersten Layer und den ersten Layer von Modell 2 an dessen zweiten Layer.
- Verwende die
add()-Operation, um die zweiten Layer von Modell 1 und Modell 2 zu kombinieren. - Schließe die Definition des Functional-Modells ab.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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())