郭震 AI公众号:郭震AI

11 深度学习框架之Keras

发布日期:

最近更新:

分类: 深度学习小白

预计阅读: 3 分钟

阅读次数: 0

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

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

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

阅读路线

先按这条路线读

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

图文要点

先看本文图文节点

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

深度学习框架之Keras结构图查看大图
深度学习框架之Keras结构图

Keras 适合用来快速理解深度学习流程。它把模型结构、损失函数、优化器和训练过程组织得比较清楚,适合从概念过渡到代码。

用更少代码搭模型核对图查看大图
用更少代码搭模型核对图

用 Keras 练习时,可以从修改层数、隐藏单元数和学习率开始,每次只改一个变量,看结果怎么变。

在上一篇文章中,我们介绍了深度学习框架之一的TensorFlow。在本篇教程中,我们将聚焦于Keras,一个基于Python的深度学习框架,它可以与TensorFlow无缝集成并提供更高级别的API,适合快速构建和训练深度学习模型。接下来,我们将通过案例和代码,探索Keras的基本用法。

Keras简介

Keras是一个高层深度学习API,旨在使构建神经网络变得简单、易于扩展并具可维护性。Keras支持多种后端,如TensorFlow、Theano和CNTK,但自从TensorFlow 2.0发布以来,Keras已成为TensorFlow的一部分,通常通过tf.keras来使用。

Keras框架判断卡查看大图
Keras框架判断卡

学习 Keras 框架时,先看模型定义、层组合、编译配置、训练调用和指标输出。

Keras的优点

  • 简易性:Keras提供直观的API,可以通过更少的代码实现复杂的神经网络模型。
  • 模块化:你可以自由组合网络层、损失函数、优化器等,支持更加灵活的模型设计。
  • 社区支持:作为一个广泛使用的库,Keras有强大的用户社区和丰富的文档资源。

Keras基本组件

在使用Keras构建深度学习模型时,你需要了解以下基本组件:

深度学习阅读地图卡查看大图
深度学习阅读地图卡

《深度学习框架之Keras》适合边看图边读正文。先确认问题和判断标准,再看概念解释与练习步骤,信息会更容易连成一条线。

  1. 模型:Keras提供了两种主要的模型类型:Sequential模型和Functional模型。
  2. :模型由多个层(Layers)组成,每一层执行特定的功能,例如卷积、池化、全连接等。
  3. 损失函数:用于评估模型的输出与真实值之间的差距。
  4. 优化器:用于更新模型参数以减少损失函数的值。
  5. 评估指标:用于监测模型性能的指标。

Keras使用示例

下面我们将通过一个简单的例子来演示如何使用Keras构建一个分类模型。假设我们要使用手写数字数据集MNIST来训练一个神经网络用于数字分类。

1. 数据准备

首先,我们需要加载MNIST数据集,并对数据进行预处理。

import numpy as np
from keras.datasets import mnist
from keras.utils import to_categorical

# 加载数据集
(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

# 改变数据形状
x_train = np.expand_dims(x_train, -1)
x_test = np.expand_dims(x_test, -1)

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

2. 构建模型

我们使用Sequential模型来构建一个简单的全连接神经网络。

from keras.models import Sequential
from keras.layers import Flatten, Dense

# 创建Sequential模型
model = Sequential()
model.add(Flatten(input_shape=(28, 28, 1)))  # 输入层
model.add(Dense(128, activation='relu'))      # 隐藏层
model.add(Dense(10, activation='softmax'))    # 输出层

3. 编译模型

在训练之前,我们需要编译模型,指定损失函数、优化器和评估指标。

model.compile(loss='categorical_crossentropy',   # 使用类别交叉熵作为损失函数
              optimizer='adam',                  # 使用Adam优化器
              metrics=['accuracy'])              # 监测准确率

4. 训练模型

接下来,我们使用fit方法来训练模型。

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

5. 评估模型

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

loss, accuracy = model.evaluate(x_test, y_test)
print(f'Test loss: {loss:.4f}, Test accuracy: {accuracy:.4f}')
深度学习框架之Keras应用复盘卡查看大图
深度学习框架之Keras应用复盘卡

如果《深度学习框架之Keras》还没完全消化,可以从这张卡片的四个动作重新走一遍。

深度学习框架之Keras应用检查卡查看大图
深度学习框架之Keras应用检查卡

回看《深度学习框架之Keras》时,不必一次做大项目,先用一条简单样例确认主线是否清楚。

小结

在本教程中,我们介绍了Keras的基本概念及其组件,并通过MNIST手写数字识别的示例详细展示了如何构建、编译、训练及评估一个简单的神经网络模型。Keras的简易性和灵活性使得深度学习变得更加高效和便捷。

接下来,我们将在下一篇文章中讨论另一个流行的深度学习框架——PyTorch。请保持关注!

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

深度学习框架之Keras适合谁读?

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

读这篇深度学习入门教程要多久?

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

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

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

分享文章

转发到常用平台

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

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

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

最多 800 字

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

0/800

留言列表

0
正在加载留言...