ПочатиПочніть безкоштовно

Визначення моделі з кількома входами

У деяких випадках API sequential недостатньо гнучкий для бажаної архітектури моделі, і тоді потрібно використовувати функціональний API. Наприклад, якщо ви хочете спільно тренувати дві моделі з різними архітектурами, вам знадобиться функціональний API. У цій вправі ми подивимося, як це зробити. Ми також скористаємося методом .summary(), щоб розглянути архітектуру спільної моделі.

Зверніть увагу: keras уже імпортовано з tensorflow. Крім того, вхідні шари першої та другої моделей визначено як m1_inputs і m2_inputs відповідно. Зауважте, що обидві моделі мають однакову архітектуру, але в одній у першому шарі використовується активація sigmoid, а в іншій — relu.

Ця вправа є частиною курсу

Вступ до TensorFlow на Python

Переглянути курс

Інструкції до вправи

  • Передайте вхідний шар моделі 1 до її першого шару, а перший шар моделі 1 — до її другого шару.
  • Передайте вхідний шар моделі 2 до її першого шару, а перший шар моделі 2 — до її другого шару.
  • Скористайтеся операцією add(), щоб обʼєднати другі шари моделі 1 і моделі 2.
  • Завершіть визначення функціональної моделі.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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())
Редагувати та запускати код