郭震 AI公众号:郭震AI

15 Keras框架从零教程:使用fit方法进行模型训练

发布日期:

最近更新:

分类: Keras

预计阅读: 3 分钟

阅读次数: 0

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

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

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

阅读路线

先按这条路线读

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

图文要点

先看本文图文节点

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

使用 fit 训练流程图查看大图
使用 fit 训练流程图

fit 会把训练循环封装起来,但它返回的 history 才是复盘材料。不要只看最后一行日志。

使用 fit 训练实操核对图查看大图
使用 fit 训练实操核对图

我会保存 history,并标注数据版本和参数。没有训练记录,模型好坏很难复盘。

在上一篇中,我们讨论了模型的构建与训练。现在,我们将深入探讨如何利用Keras中的fit方法进行模型训练,这一方法是Keras中最常用、最核心的训练机制之一。同时,我们也会介绍一些与训练相关的参数配置,让你能更好地掌控模型的训练过程。

Keras中的fit方法概述

Keras提供的fit方法用于训练模型,它接收训练数据并根据数据进行参数更新。其基本调用方式如下:

Keras fit训练判断卡查看大图
Keras fit训练判断卡

使用 Keras fit 训练时,先看 epochs、batch size、validation_data、callbacks、shuffle 和训练曲线。

model.fit(x, y, epochs=10, batch_size=32, verbose=1, validation_split=0.2)

主要参数:

  • x: 输入数据,可以是NumPy数组、Python生成器或TensorFlow数据集。
  • y: 标签(训练目标),与输入数据一一对应。
  • epochs: 整数,训练的轮数。
  • batch_size: 整数,更新模型权重所使用的样本数。
  • verbose: 日志显示方式,0、1或2。
  • validation_split: 介于0与1之间的浮点数,用于设定训练数据的验证集比例。

示例案例:用fit方法训练一个简单的神经网络

我们将通过一个简单的例子来演示如何使用fit方法训练一个神经网络。以下是使用Keras构建并训练一个对手写数字(MNIST数据集)进行分类的模型:

import numpy as np
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Flatten

# 1. 加载数据
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0  # 归一化

# 2. 定义模型
model = Sequential()
model.add(Flatten(input_shape=(28, 28)))  # 将28x28的图片展平
model.add(Dense(128, activation='relu'))   # 添加全连接层
model.add(Dense(10, activation='softmax'))  # 添加输出层

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

# 4. 训练模型
model.fit(x_train, y_train, epochs=5, batch_size=32, validation_split=0.2)

# 5. 评估模型
test_loss, test_acc = model.evaluate(x_test, y_test)
print(f'\n测试准确率: {test_acc:.4f}')

在这个案例中,我们加载了MNIST数据集,对其进行了归一化处理,然后构建了一个简单的神经网络模型,最后使用fit方法进行训练。

监控训练过程

使用verbose参数可以控制训练过程中的信息输出:

  • verbose=0:不输出任何信息。
  • verbose=1:输出进度条(默认)。
  • verbose=2:每个epoch结束后输出一行信息。
Keras阅读地图卡查看大图
Keras阅读地图卡

读完《Keras框架从零教程:使用fit方法进行模型训练》后,可以回头问三件事:它解决什么问题,哪一步最容易出错,自己能否拿一个小例子跑通。

如上所示,当我们设置verbose=1时,可以得到每个epochs的损失和准确率,这对监控训练过程非常重要。

验证集的使用

在上面的代码示例中,validation_split=0.2表示将20%的训练数据用作验证集。这能帮助我们在训练过程中监控模型的泛化能力,从而调整超参数,防止过拟合。

Keras框架从零教程:使用fit方法进行模型训练应用复盘卡查看大图
Keras框架从零教程:使用fit方法进行模型训练应用复盘卡

如果《Keras框架从零教程:使用fit方法进行模型训练》还没完全消化,可以从这张卡片的四个动作重新走一遍。

Keras框架从零教程:使用fit方法进行模型训练应用检查卡查看大图
Keras框架从零教程:使用fit方法进行模型训练应用检查卡

回看《Keras框架从零教程:使用fit方法进行模型训练》时,不必一次做大项目,先用一条简单样例确认主线是否清楚。

小结

本篇中,我们详细介绍了Keras的fit方法及其各类参数的设置,通过实际代码示例,清晰展示了如何进行模型训练。fit方法使得模型训练可控而有效,是Keras框架的主要特点之一。

在下一篇中,我们将会探讨Keras中的回调函数,这些回调函数可以帮助我们在训练过程中实现诸如保存模型、调整学习率等多种功能,以优化训练过程和结果。希望你能继续关注我们的Keras从零教程系列!

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

Keras框架从零教程:使用fit方法进行模型训练适合谁读?

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

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

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

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

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

分享文章

转发到常用平台

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

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

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

最多 800 字

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

0/800

留言列表

0
正在加载留言...