Definirea unui model cu intrări multiple
În unele cazuri, API-ul secvențial nu va fi suficient de flexibil pentru arhitectura de model dorită și va trebui să folosești API-ul funcțional. De exemplu, dacă vrei să antrenezi simultan două modele cu arhitecturi diferite, API-ul funcțional este soluția potrivită. În acest exercițiu, vei vedea cum se face acest lucru. Vei folosi și metoda .summary() pentru a examina arhitectura modelului combinat.
Reține că keras a fost importat din tensorflow pentru tine. De asemenea, straturile de intrare ale primului și celui de-al doilea model au fost definite ca m1_inputs, respectiv m2_inputs. Cele două modele au aceeași arhitectură, însă unul folosește activarea sigmoid în primul strat, iar celălalt folosește relu.
Acest exercițiu face parte din cursul
Introducere în TensorFlow în Python
Instrucțiuni pentru exercițiu
- Transmite stratul de intrare al modelului 1 primului său strat, și primul strat al modelului 1 celui de-al doilea strat al său.
- Transmite stratul de intrare al modelului 2 primului său strat, și primul strat al modelului 2 celui de-al doilea strat al său.
- Folosește operația
add()pentru a combina al doilea strat al modelului 1 cu al doilea strat al modelului 2. - Finalizează definiția modelului funcțional.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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())