开始使用免费开始使用

定义一个多输入模型

在某些情况下,Sequential API 的灵活性不足以满足您期望的模型结构,此时需要改用 Functional API。比如,若您想将两个具有不同结构的模型联合训练,就需要使用 Functional API 来实现。本练习将演示具体做法。我们还会使用 .summary() 方法查看联合模型的结构。

注意,keras 已从 tensorflow 中为您导入。此外,第一个模型和第二个模型的输入层分别已定义为 m1_inputsm2_inputs。请注意,这两个模型的结构相同,但其中一个在第一层使用 sigmoid 激活函数,另一个使用 relu

本练习是课程的一部分

Python 中的 TensorFlow 入门

查看课程

练习说明

  • 将模型 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())
编辑并运行代码