You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Keras构建模型输入时Sequential与Concatenate的差异解析

Keras两种输入构建方式的差异对比

在Keras中构建模型输入时,你提到的两种方式分别对应Sequential顺序模型和函数式API(结合Concatenate层),二者核心差异体现在灵活性、适用场景和扩展性上,具体对比如下:

方式一:Sequential顺序模型

这种方式适用于单输入、线性堆叠的简单模型:

model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(units=1, input_shape=(2,), kernel_regularizer='l1', activation=tf.sigmoid))

model.compile(optimizer=tf.keras.optimizers.experimental.RMSprop(learning_rate=my_learning_rate),
              loss=tf.keras.losses.BinaryCrossentropy(),
              metrics=METRICS)

方式二:函数式API(结合Concatenate层)

这种方式用于多输入或复杂拓扑的模型,通过显式定义输入层并拼接实现:

my_inputs = {
    # 用于训练模型的特征
    'median_income': tf.keras.Input(shape=(1,)),
    'total_rooms': tf.keras.Input(shape=(1,))
}
# 使用Concatenate层将输入层拼接为单个张量,作为Dense层的输入。示例:[input_1[0][0], input_2[0][0]]
concatenated_inputs = tf.keras.layers.Concatenate()(my_inputs.values())
dense = tf.keras.layers.Dense(units=1, name='dense_layer', activation=tf.sigmoid)
dense_output = dense(concatenated_inputs)
"""创建并编译一个简单的分类模型。"""
my_outputs = {
    'dense': dense_output,
}
model = tf.keras.Model(inputs=my_inputs, outputs=my_outputs)

# 调用compile方法将层构建为TensorFlow可执行的模型。注意分类与回归使用的损失函数不同。
model.compile(optimizer=tf.keras.optimizers.experimental.RMSprop(learning_rate=my_learning_rate),
              loss=tf.keras.losses.BinaryCrossentropy(),
              metrics=METRICS)

核心差异点

  • 输入结构灵活性

    • Sequential仅支持单一输入张量,所有特征必须预先打包成一个固定形状的张量(比如示例中(2,)的形状对应两个特征),无法处理独立的多输入源。
    • 函数式API支持多输入层,每个特征可以单独定义输入层,适合特征来自不同数据源、需要单独做预处理(比如归一化、嵌入)的场景。
  • 数据传递方式

    • Sequential训练时需传入与input_shape匹配的单一张量,每个样本是包含所有特征的数组(如[median_income, total_rooms])。
    • 函数式API可以直接传入字典格式的输入,键对应输入层的名称,值对应各自的特征数据,特征映射更直观,尤其在特征数量较多时更易维护。
  • 模型扩展性

    • Sequential是严格的线性层堆叠,只能按顺序添加层,无法实现分支、多输出、共享层等复杂拓扑结构。
    • 函数式API可以自由构建任意模型拓扑,比如可以给不同输入层单独添加预处理层后再拼接,后续还能扩展多输出分支,适配复杂任务需求。
  • 代码简洁性与可读性

    • 对于单输入的简单模型,Sequential代码更简洁,行数少,易上手。
    • 对于多输入或复杂模型,函数式API的代码结构更清晰,每个输入、处理步骤都显式定义,后期修改和调试更方便。

内容的提问来源于stack exchange,提问作者Nitul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 04:35:24