郭震 AI公众号:郭震AI

14 Keras框架从零教程:训练模型

发布日期:

最近更新:

分类: Keras

预计阅读: 3 分钟

阅读次数: 0

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

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

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

阅读路线

先按这条路线读

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

图文要点

先看本文图文节点

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

训练模型流程图查看大图
训练模型流程图

训练不是只调用 fit。数据切分、批大小、轮数和验证集设置,都会影响你看到的曲线和最终判断。

训练模型实操核对图查看大图
训练模型实操核对图

我会同时看训练和验证曲线。训练变好但验证变差,优先查过拟合、数据泄露和学习率。

在上一篇中,我们探讨了如何通过compile方法来为模型编译优化器、损失函数和指标。现在,我们将继续深入,学习如何训练模型,具体来说就是如何使用fit方法进行模型训练。

训练模型的准备

在开始训练模型之前,我们需要确保以下几项已经完成:

Keras训练模型判断卡查看大图
Keras训练模型判断卡

训练 Keras 模型时,先看数据批次、模型编译、fit 参数、验证集、指标曲线和过拟合迹象。

  1. 模型已创建并编译:您需要创建一个Keras模型,并使用compile方法定义优化器、损失函数和评价指标。
  2. 数据集已准备好:我们需要准备好输入数据 X 和目标输出数据 y

下面是一个简单的例子,展示了如何创建一个模型并进行编译。

import keras
from keras.models import Sequential
from keras.layers import Dense
import numpy as np

# 创建一个简单的神经网络模型
model = Sequential()
model.add(Dense(64, activation='relu', input_shape=(10,)))  # 输入层
model.add(Dense(1, activation='sigmoid'))                    # 输出层

# 编译模型
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

接下来,我们需要准备数据。假设我们有一组特征数据 X 和对应的标签 y

X = np.random.rand(1000, 10)  # 1000个样本,每个样本10个特征
y = np.random.randint(2, size=(1000, 1))  # 1000个样本的二元标签

使用fit方法训练模型

一旦我们有了数据和编译好的模型,我们就可以使用fit方法进行训练了。fit方法的基本语法如下:

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

学习《Keras框架从零教程:训练模型》不必一口气吃完所有细节。先挑一个能动手验证的小问题,再顺着图和正文补齐概念。

model.fit(x, y, epochs=1, batch_size=None, verbose=1, validation_split=0.0, callbacks=None, ...)
  • x:训练数据。
  • y:目标输出数据。
  • epochs:训练的轮次,默认值为1。
  • batch_size:每个批次的样本数量,默认值为32。
  • verbose:训练日志显示模式,0为安静,1为进度条,2为每个epoch一行。
  • validation_split:用于验证的比例,将一部分训练数据分离出来用于验证。

下面是用fit方法训练模型的例子:

# 训练模型
model.fit(X, y, epochs=10, batch_size=32, verbose=1, validation_split=0.2)

在这个例子中,我们将训练模型的轮次设置为10,每个批次为32个样本,并将20%的数据用于验证。

训练过程中的监控

在调用fit方法时,Keras会自动在每个epoch结束时评估模型在训练集和验证集上的损失和准确率。这样,您就能在训练过程中监控模型的表现。

使用回调函数

在训练过程中,您可能希望在特定条件下保存模型或调整学习率。Keras提供了回调函数 callbacks,允许您在训练过程中扩展模型的功能。

from keras.callbacks import EarlyStopping, ModelCheckpoint

# 提前停止的回调函数
early_stopping = EarlyStopping(monitor='val_loss', patience=3)

# 模型检查点回调函数
model_checkpoint = ModelCheckpoint('best_model.h5', save_best_only=True)

# 训练模型,并应用回调函数
model.fit(X, y, epochs=50, batch_size=32, verbose=1, validation_split=0.2, 
          callbacks=[early_stopping, model_checkpoint])

在这个例子中,EarlyStopping回调会监控验证损失,如果在3个连续epoch内没有改善,就会提前停止训练。同时,ModelCheckpoint会保存验证损失最小的模型,以便后续加载和使用。

训练完成后的步骤

训练完成后,您可以使用evaluate方法测试模型的性能,并使用predict方法进行预测。例如:

# 评估模型性能
loss, accuracy = model.evaluate(X, y)
print(f'Loss: {loss}, Accuracy: {accuracy}')

# 进行预测
predictions = model.predict(X)

您可以把这些步骤整合到您的工作流程中,以确保您的模型训练、评估和使用均高效有序。

Keras框架从零教程:训练模型应用复盘卡查看大图
Keras框架从零教程:训练模型应用复盘卡

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

Keras框架从零教程:训练模型应用检查卡查看大图
Keras框架从零教程:训练模型应用检查卡

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

小结

在本篇中,我们探讨了如何使用Keras中的fit方法来训练模型,监控训练过程,并利用回调函数增强训练过程的功能。这为后续的模型使用和调优打下了良好的基础。

在下一篇中,我们将重点讨论如何在Keras中使用fit方法的高级功能,以提高模型的训练效果和效率。希望能够继续与您一起深入探讨Keras框架的奥秘!

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

Keras框架从零教程:训练模型适合谁读?

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

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

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

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

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

分享文章

转发到常用平台

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

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

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

最多 800 字

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

0/800

留言列表

0
正在加载留言...