郭震 AI公众号:郭震AI

17 使用Keras构建简单模型

发布日期:

最近更新:

分类: Tensorflow小白

预计阅读: 4 分钟

阅读次数: 0

系列进度

TensorFlow 入门 · 第 17 / 25

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

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

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

阅读路线

先按这条路线读

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

图文要点

先看本文图文节点

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

使用Keras构建简单模型结构图查看大图
使用Keras构建简单模型结构图

TensorFlow 学习要把张量、模型、训练和部署放在一条线上,而不是只看单段代码。阅读时可以按「Keras基本组成部分 -> 构建手写数字识别模型 -> 步骤1:导入必要的库 -> 步骤2:加载和预处理数据」建立结构,再回到正文里的代码、案例或指标做验证。

使用Keras构建简单模型核对图查看大图
使用Keras构建简单模型核对图

读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「Keras基本组成部分」,再查「构建手写数字识别模型」。

在上篇的内容中,我们了解了Keras是什么以及它的基本概念。当前篇将带你走进Keras的实际应用,具体是如何构建一个简单的模型。我们会通过一个经典的案例,即手写数字识别(MNIST数据集),来演示如何用Keras构建模型。

Keras基本组成部分

Keras是一个高层次的神经网络API,能够以简单和高效的方式构建和训练深度学习模型。构建模型主要有以下几个重要步骤:

Keras简单模型构建判断卡查看大图
Keras简单模型构建判断卡

构建 Keras 简单模型时,先看输入形状、层顺序、输出维度、compile 配置、fit 数据和 evaluate 结果。

  1. 定义模型:选择模型类型(如顺序模型或函数式模型)。
  2. 添加层:向模型中逐层添加神经网络层。
  3. 编译模型:指定损失函数、优化器和评估指标。
  4. 训练模型:通过训练数据拟合模型。
  5. 评估与预测:使用测试数据评估模型性能,进行预测。

在这一过程中,我们主要使用Sequential模型,它是Keras提供的最简单形式,适合于逐层叠加的神经网络。

构建手写数字识别模型

步骤1:导入必要的库

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

《使用Keras构建简单模型》读到最后,可以把图里的流程当成检查表:问题是否明确,操作是否落地,判断标准是否能复用。

首先,确保你已经安装了TensorFlow和Keras。接下来,导入我们需要的库:

import tensorflow as tf
from tensorflow.keras import layers, models
from tensorflow.keras.datasets import mnist

步骤2:加载和预处理数据

Keras提供了MNIST数据集的方便方法,我们可以直接加载,并进行预处理。首先加载数据:

# 加载数据
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()

# 数据规范化处理
train_images = train_images.astype('float32') / 255.0
test_images = test_images.astype('float32') / 255.0

在这里,我们将图像数据的像素值从0-255缩放到0-1之间,以帮助模型更快收敛。

步骤3:构建模型

接下来,我们将构建一个基本的神经网络模型。我们将使用一个包含两个隐藏层的顺序模型:

model = models.Sequential()
model.add(layers.Flatten(input_shape=(28, 28)))  # 将28x28的图像展平为784的向量
model.add(layers.Dense(128, activation='relu'))    # 第一个全连接层,使用ReLU激活函数
model.add(layers.Dense(10, activation='softmax'))   # 输出层,10个类别,使用Softmax激活函数

步骤4:编译模型

编译模型时,我们需要选择损失函数、优化器和评估指标。对于分类问题,我们通常使用Categorical Crossentropy损失函数,并选择Adam优化器:

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

步骤5:训练模型

现在,我们可以使用训练数据来训练模型。使用fit方法,我们可以指定训练周期数(epochs)和每个周期的批量大小(batch size):

model.fit(train_images, train_labels, epochs=5, batch_size=32)

在这里,我们设置训练5个周期,批量大小为32。

模型评估与预测

训练完成后,我们可以通过测试数据集评估模型性能:

test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f'Test accuracy: {test_acc}')

评估完成后,如果我们想要对新的数据进行预测,可以使用predict方法:

predictions = model.predict(test_images)
predicted_class = tf.argmax(predictions, axis=1)

这里,predictions包含对每个测试图片的类别概率,我们可以使用argmax来找到概率最大的类别。

使用Keras构建简单模型应用复盘卡查看大图
使用Keras构建简单模型应用复盘卡

复习《使用Keras构建简单模型》时,建议把关键概念、操作步骤和可见结果放在同一页里回看。

使用Keras构建简单模型应用检查卡查看大图
使用Keras构建简单模型应用检查卡

练习《使用Keras构建简单模型》时,建议把输入条件、处理动作和可见结果写在一起,方便下次复查。

总结

通过上述简单的步骤,我们已经成功构建了一个使用Keras的手写数字识别模型。从数据加载到模型训练,我们看到了Keras构建深度学习模型的基本流程。这只是一个开始,在下一篇中,我们将深入学习如何训练模型的基本步骤,包括如何进行模型调优和超参数调整。

请继续关注后续内容,深入理解如何训练和优化你的模型。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

使用Keras构建简单模型适合谁读?

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

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

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

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

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

分享文章

转发到常用平台

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

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

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

最多 800 字

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

0/800

留言列表

0
正在加载留言...