9 Keras基本概念之模型类型及其选择
系列进度
Keras 入门 · 第 9 / 28 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
Keras 的三类建模方式对应不同复杂度。简单模型用 Sequential,分支结构用 Functional,动态逻辑再考虑子类化。
我会先画模型拓扑。结构是一条线还是有分支,基本就决定该选哪种 API。
在上一篇文章中,我们探讨了Keras中的基础概念之一——张量。张量是Keras进行深度学习操作的核心数据结构,理解强调张量及其运算对于后续模型的构建至关重要。在本篇文章中,我们将聚焦于Keras的模型类型及如何选择合适的模型框架,为后续学习顺序模型提供基础。
Keras模型类型概览
Keras主要提供两种模型类型:Sequential模型和Functional模型。这两种模型针对不同的应用场景,各具优缺点。
选择 Keras 模型类型时,先看输入数据形态、预测目标、样本量、可解释性和部署约束。
1. Sequential模型
Sequential模型是Keras中最简单的模型类型,适用于由一系列线性堆叠的层组成的模型。这意味着你可以逐层地将每一个神经网络层添加到模型中,通常用于简单的前馈网络。
适用场景
- 线性堆叠的神经网络:如多层感知器(MLP)和经典的卷积网络。
- 没有共享层:模型的层顺序固定,不适合复杂的网络结构。
示例代码
from keras.models import Sequential
from keras.layers import Dense, Flatten
# 创建一个Sequential模型
model = Sequential()
# 添加层:Flatten层将输入扁平化,Dense层为全连接层
model.add(Flatten(input_shape=(28, 28))) # 假设输入为28x28的灰度图像
model.add(Dense(128, activation='relu'))
model.add(Dense(10, activation='softmax')) # 最后一层用于多分类,10个输出
# 输出模型的概况
model.summary()
2. Functional模型
Functional模型是Keras中功能更强大的模型构建方式,允许用户创建复杂的网络结构,包括共享层、具有多个输入或输出的模型等。
适用场景
- 复杂网络结构:例如多输入多输出模型、具有跳跃连接的卷积网络等。
- 需要共享层的模型:例如在不同网络部分共享同一层的网络。
示例代码
from keras.models import Model
from keras.layers import Input, Dense
# 定义输入
input_layer = Input(shape=(28, 28))
flattened = Flatten()(input_layer) # 扁平化
dense_layer = Dense(128, activation='relu')(flattened)
output_layer = Dense(10, activation='softmax')(dense_layer) # 输出层
# 创建Functional模型
model = Model(inputs=input_layer, outputs=output_layer)
# 输出模型的概况
model.summary()
如何选择模型类型?
选择适合的模型类型依赖于任务的复杂性和需求。以下是一些建议:
《Keras基本概念之模型类型及其选择》这类内容容易被细节带偏。先看图里的主线,再回到正文核对环境、输入、输出和判断标准。
- 简单任务(如MNIST手写数字识别等):可以选择
Sequential模型,只需线性堆叠几层即可。 - 复杂任务(如对象检测或问答系统等):推荐使用
Functional模型,它能提供更大的灵活性来设计架构。
复习《Keras基本概念之模型类型及其选择》时,建议把关键概念、操作步骤和可见结果放在同一页里回看。
练习《Keras基本概念之模型类型及其选择》时,建议把输入条件、处理动作和可见结果写在一起,方便下次复查。
小结
在本篇文章中,我们深入探讨了Keras中的两种主要模型类型——Sequential和Functional。了解它们的特性和适用场景对于后续构建模型至关重要。在下一篇文章中,我们将具体讨论如何使用Sequential模型构建简单的神经网络。这将为你在使用Keras进行深度学习的旅程中打下坚实的基础。
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
Keras基本概念之模型类型及其选择适合谁读?
这是 Keras 入门 系列第 9 / 28 篇,适合正在学习Keras 入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇Keras 入门教程要多久?
按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读