Mendefinisikan model dengan banyak masukan
Dalam beberapa kasus, API sequential tidak cukup fleksibel untuk mengakomodasi arsitektur model yang Anda inginkan, sehingga Anda perlu menggunakan API functional. Misalnya, jika Anda ingin melatih dua model dengan arsitektur berbeda secara bersama-sama, Anda perlu menggunakan API functional untuk melakukannya. Pada latihan ini, kita akan melihat caranya. Kita juga akan menggunakan metode .summary() untuk meninjau arsitektur model gabungan.
Perhatikan bahwa keras telah diimpor dari tensorflow untuk Anda. Selain itu, layer masukan dari model pertama dan kedua telah didefinisikan sebagai m1_inputs dan m2_inputs. Perhatikan bahwa kedua model memiliki arsitektur yang sama, tetapi salah satunya menggunakan aktivasi sigmoid pada layer pertama dan yang lainnya menggunakan relu.
Latihan ini adalah bagian dari kursus
Pendahuluan TensorFlow di Python
Petunjuk latihan
- Teruskan layer masukan model 1 ke layer pertamanya dan layer pertama model 1 ke layer keduanya.
- Teruskan layer masukan model 2 ke layer pertamanya dan layer pertama model 2 ke layer keduanya.
- Gunakan operasi
add()untuk menggabungkan layer kedua dari model 1 dan model 2. - Lengkapi definisi model functional.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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())