24 Keras与TensorFlow之Keras的TensorBoard可视化
系列进度
Keras 入门 · 第 24 / 28 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
TensorBoard 的价值在于把训练过程留下来。曲线、直方图和实验对比,比临时日志更适合复盘。
我会用独立日志目录记录每次实验,并在图上标注参数变化。否则多次训练很容易混在一起。
在前一篇中,我们讨论了如何在TensorFlow中使用Keras进行模型构建和训练,这篇文章将重点介绍如何使用TensorBoard对Keras模型进行可视化。TensorBoard是一个强大的工具,它可以帮助我们可视化模型的训练过程、查看指标以及更好地理解深度学习模型的运行情况。
1. 什么是TensorBoard?
TensorBoard是TensorFlow的可视化工具,它允许我们对训练的深度学习模型进行可视化分析。通过TensorBoard,我们可以查看以下信息:
读这篇时,可以把「什么是TensorB -> 在Keras中启用T -> 导入所需的库 -> 创建训练数据和模型」当成一条检查线:先抓住对象、动作和判断依据,再回到案例、代码或指标里复查。
- 训练过程中的损失和准确率曲线
- 模型结构
- 激活分布
- 参数分布
- 嵌入数据可视化
通过这些可视化工具,我们可以直观地理解模型的训练过程,并做出相应的调整和优化。
2. 在Keras中启用TensorBoard
在Keras中启用TensorBoard是非常简单的,主要通过TensorBoard回调函数来实现。在模型训练时,您只需要设置一些参数,然后将其作为回调传递给fit()方法。
看《Keras与TensorFlow之Keras的TensorBoard...》时,先把图中的问题、关键词、操作和验收标准对上,再读正文会更省力。读完后,最好能用自己的项目重新讲一遍。
以下是如何在Keras中使用TensorBoard的步骤:
2.1 导入所需的库
首先需要导入必要的库:
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
import datetime
2.2 创建训练数据和模型
我们通过使用Keras创建一个简单的模型和随机的数据集。以下是一个仅供参考的示例:
# 创建一个简单的数据集
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0 # 归一化处理
# 创建一个简单的神经网络模型
model = keras.Sequential([
layers.Flatten(input_shape=(28, 28)),
layers.Dense(128, activation='relu'),
layers.Dropout(0.2),
layers.Dense(10, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
2.3 配置TensorBoard回调
接下来,我们需要配置TensorBoard回调。我们可以设置日志目录,并指定使用当前日期和时间作为子目录名称,以便于后续的查找和管理:
# 设置日志目录
log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)
2.4 训练模型并启用TensorBoard
然后,我们可以使用fit()方法进行训练,并传入tensorboard_callback:
# 训练模型
model.fit(x_train, y_train, epochs=5, validation_split=0.2, callbacks=[tensorboard_callback])
2.5 启动TensorBoard
训练完成后,您可以使用以下命令在命令行中启动TensorBoard:
tensorboard --logdir=logs/fit
然后在浏览器中访问 http://localhost:6006,您将看到模型训练的实时可视化信息。
3. 可视化内容
在TensorBoard中,您可以查看不同的信息:
-
损失和准确性曲线:在“SCALARS”标签页中,您可以查看模型在每个epoch的损失和准确率变化曲线。
-
模型图:在“GRAPH”标签页中,您可以查看模型的计算图,了解模型的层次结构。
-
直方图:在“HISTOGRAMS”标签页中,您可以查看层的权重和激活值的分布,帮助您更好地理解模型。
-
嵌入可视化:在“EMBEDDINGS”标签页中,您可以查看高维数据的2D或3D可视化效果。
读到这里,可以把《Keras与TensorFlow之Keras的TensorBoard可视化》整理成一张复盘表:先说清主线,再拿一个小任务检查结果。
读完《Keras与TensorFlow之Keras的TensorBoard可视化》后,可以先挑一个小样例走完整流程,再判断哪些步骤已经能独立完成。
4. 总结
通过使用Keras和TensorBoard的结合,您可以轻松地在模型训练过程中进行可视化,获取重要的训练信息。这不仅有助于监控模型性能,也可以为后续的模型优化提供重要依据。
在下一篇中,我们将讨论Keras与TF设备管理的相关知识。希望通过这系列教程,您能够对Keras和TensorFlow有更深入的理解与应用。
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
Keras与TensorFlow之Keras的TensorBoard可视化适合谁读?
这是 Keras 入门 系列第 24 / 28 篇,适合正在学习Keras 入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇Keras 入门教程要多久?
按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读