郭震 AI公众号:郭震AI

10 Keras框架从零教程:构建模型之顺序模型Sequential

发布日期:

最近更新:

分类: Keras

预计阅读: 4 分钟

阅读次数: 0

预计阅读4 分钟
结构重点11 个
图文要点6 张
正文规模1.4k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 11 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

Sequential流程图查看大图
Sequential流程图

Sequential 是 Keras 最快的入门路径,适合一层接一层的网络。它的优势是清楚,限制也是只能表达简单拓扑。

Sequential实操核对图查看大图
Sequential实操核对图

我会确认模型是否真的只有一条输入到输出的路径。一旦有共享层或多输入,就该换 Functional API。

在上一篇中,我们讨论了Keras的基本概念,以及如何选择合适的模型类型。今天,我们将深入探讨Keras中最简单和最常用的模型类型——顺序模型(Sequential)。顺序模型是一种线性堆叠多层的模型,非常适合于层与层之间逐步连接的常见任务,如分类和回归。

什么是顺序模型?

顺序模型是Keras中用于构建神经网络的一种方便的方式。它允许用户通过简单地将每一层添加到模型中,从而按顺序构建网络。每一层的输入都是前一层的输出,适合用于构建大多数简单的深度学习模型。

Keras顺序模型判断卡查看大图
Keras顺序模型判断卡

使用 Keras Sequential 时,先确认层的顺序、输入形状、输出维度、损失函数和优化器。

如何构建顺序模型?

在Keras中构建顺序模型非常简单。通常,你只需要以下几个步骤:

  1. 导入必要的库
  2. 创建一个顺序模型
  3. 添加层到模型中。
  4. 编译模型
  5. 训练模型

为了更好地理解这个过程,我们来看看一个实际的例子:构建一个用于手写数字识别的简单神经网络。

案例:手写数字识别

我们将使用经典的MNIST数据集,该数据集包含了大量的手写数字(0-9)。我们的目标是构建一个顺序模型来识别这些手写数字。

Keras阅读地图卡查看大图
Keras阅读地图卡

《Keras框架从零教程:构建模型之顺序模型Sequential》可以按“场景、概念、动作、结果”来读。先把这四件事对齐,再回到正文里的参数、代码或流程。

1. 导入必要的库

首先,我们需要导入Keras以及其他一些必需的库。

import numpy as np
import matplotlib.pyplot as plt
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Flatten
from keras.utils import to_categorical

2. 加载和预处理数据

接下来,我们加载MNIST数据集并进行预处理。我们将数据标准化到[0, 1]的范围,并将标签进行独热编码。

# 加载数据
(x_train, y_train), (x_test, y_test) = mnist.load_data()

# 数据标准化
x_train = x_train.astype('float32') / 255.0
x_test = x_test.astype('float32') / 255.0

# 独热编码标签
y_train = to_categorical(y_train, 10)
y_test = to_categorical(y_test, 10)

3. 创建顺序模型

现在,我们可以使用Sequential类来创建一个顺序模型。我们将使用一个Flatten层来展平输入,然后使用一个隐藏层和一个输出层。

model = Sequential()
model.add(Flatten(input_shape=(28, 28)))  # 将28x28图像展平
model.add(Dense(128, activation='relu'))   # 隐藏层
model.add(Dense(10, activation='softmax'))  # 输出层

4. 编译模型

模型构建完成后,需要编译模型。我们选择使用categorical_crossentropy作为损失函数,adam作为优化器,并计算准确率(accuracy)作为评估指标。

model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

5. 训练模型

接下来,我们使用训练数据来训练模型。这里我们将训练10个周期(epochs)。

model.fit(x_train, y_train, epochs=10, batch_size=32, validation_split=0.2)

6. 评估模型

训练完成后,我们可以在测试集上评估模型的性能。

test_loss, test_accuracy = model.evaluate(x_test, y_test)
print(f'Test accuracy: {test_accuracy:.4f}')

7. 可视化结果

最后,我们可以可视化一些识别结果,以便更好地理解模型的表现。

predictions = model.predict(x_test)

# 显示前5个测试图像的预测结果
for i in range(5):
    plt.imshow(x_test[i], cmap='gray')
    plt.title(f'Predicted: {np.argmax(predictions[i])}, Actual: {np.argmax(y_test[i])}')
    plt.axis('off')
    plt.show()
Keras框架从零教程:构建模型之顺序模型Sequential应用复盘卡查看大图
Keras框架从零教程:构建模型之顺序模型Sequential应用复盘卡

学完《Keras框架从零教程:构建模型之顺序模型Sequential》后,不妨换一个自己的场景试一次,重点观察输入、处理和输出是否能对应起来。

Keras框架从零教程:构建模型之顺序模型Sequential应用检查卡查看大图
Keras框架从零教程:构建模型之顺序模型Sequential应用检查卡

如果想把《Keras框架从零教程:构建模型之顺序模型Sequential》用到自己的任务里,可以先缩小场景,只验证一个最关键的判断点。

小结

在这一节中,我们详细介绍了如何使用Keras的顺序模型(Sequential)构建一个简单的手写数字识别模型。从数据的加载、预处理,到模型的创建、编译和训练,我们逐步完成了整个过程。顺序模型对于初学者来说是一个非常友好的工具,它可以快速构建和训练简单的神经网络。

在下一篇文章中,我们将探讨Keras的功能API,它提供了更灵活的方式来构建复杂的模型。敬请期待!

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

Keras框架从零教程:构建模型之顺序模型Sequential适合谁读?

这是 Keras 入门 系列第 10 / 28 篇,适合正在学习Keras 入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇Keras 入门教程要多久?

按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...