18 训练模型的基本步骤
系列进度
TensorFlow 入门 · 第 18 / 25 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
TensorFlow 学习要把张量、模型、训练和部署放在一条线上,而不是只看单段代码。阅读时可以按「准备数据 -> 定义损失函数 -> 选择优化器 -> 训练模型」建立结构,再回到正文里的代码、案例或指标做验证。
读完后,用一个真实小任务复查:输入是什么,处理环节在哪里,输出是否可验收;失败时先查「准备数据」,再查「定义损失函数」。
在上一章中,我们详细探讨了如何使用 Keras 构建一个简单的模型。这一章将重点阐述训练模型的基本步骤。当你构建了模型之后,接下来就需要让模型学习从数据中提取特征并进行预测。训练模型的过程主要包括以下几个步骤:
- 准备数据
- 定义损失函数
- 选择优化器
- 训练模型
- 评估模型
接下来,我们将逐步展开这些步骤,并结合一些代码示例。
1. 准备数据
在开始训练之前,需要准备好数据集。数据集可以是图像、文本或任何其他类型的数据。通常,数据集会被分为训练集、验证集和测试集。这里我们以一个简单的图像分类任务为例,使用 MNIST 数据集。
理解 TensorFlow 训练步骤时,先看数据加载、模型定义、compile、fit、验证指标、保存和复测。
import tensorflow as tf
from tensorflow.keras.datasets import mnist
# 加载 MNIST 数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 数据预处理
x_train = x_train.astype('float32') / 255.0 # 归一化到 [0, 1]
x_test = x_test.astype('float32') / 255.0
# 变形
x_train = x_train.reshape(-1, 28, 28, 1) # 添加通道维
x_test = x_test.reshape(-1, 28, 28, 1)
2. 定义损失函数
损失函数用于度量预测值与真实值之间的差距。在分类任务中,通常选择 sparse_categorical_crossentropy 作为损失函数。
看《训练模型的基本步骤》时,先把图中的问题、关键词、操作和验收标准对上,再读正文会更省力。读完后,最好能用自己的项目重新讲一遍。
定义损失函数的代码如下:
loss_function = 'sparse_categorical_crossentropy'
3. 选择优化器
优化器用于更新模型的权重,以最小化损失函数。在 Keras 中,常见的优化器包括 SGD、Adam 等。我们通常推荐从 Adam 开始,因为它在大多数情况下表现优越。
选择优化器的代码示例:
optimizer = tf.keras.optimizers.Adam()
4. 训练模型
整合以上步骤并训练模型。使用 fit 方法,我们将训练数据传递给模型,并指定训练的轮数和批次大小。
# 定义模型
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)),
tf.keras.layers.MaxPooling2D(pool_size=(2, 2)),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer=optimizer, loss=loss_function, metrics=['accuracy'])
# 训练模型
history = model.fit(x_train, y_train, validation_split=0.2, epochs=5, batch_size=64)
在上面的代码中,我们定义了一个简单的卷积神经网络,并使用训练数据进行模型训练。validation_split 用于在训练时从训练集分出一部分数据进行验证。
5. 评估模型
训练完成后,我们需要对模型进行评估,通常使用测试集来验证模型的性能:
test_loss, test_accuracy = model.evaluate(x_test, y_test)
print(f'测试损失: {test_loss}, 测试准确度: {test_accuracy}')
这一过程将输出模型在测试集上的损失和准确度,帮助我们了解模型的泛化能力。
学完《训练模型的基本步骤》后,不妨换一个自己的场景试一次,重点观察输入、处理和输出是否能对应起来。
如果想把《训练模型的基本步骤》用到自己的任务里,可以先缩小场景,只验证一个最关键的判断点。
总结
在本章中,我们介绍了训练模型的基本步骤,包括准备数据、定义损失函数、选择优化器、训练模型和评估模型。掌握这些步骤是使用 Keras 进行深度学习的基础。通过不断的实践,你将能够更好地理解和应用这些概念。
随着对模型训练过程的理解加深,下一章我们将探讨优化算法的选择,帮助你更深入地掌握模型训练的细节和技术。
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
训练模型的基本步骤适合谁读?
这是 TensorFlow 入门 系列第 18 / 25 篇,适合正在学习TensorFlow 入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇TensorFlow 入门教程要多久?
按中文技术文章阅读速度估算,通读大约 3 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读