《TensorFlow技术解析与实战》——3.2 TensorBoard[2]

简介:

本节书摘来异步社区《TensorFlow技术解析与实战》一书中的第3章,第3.2节,作者:李嘉璇,更多章节内容可以访问云栖社区“异步社区”公众号查看。

3.2 TensorBoard[2]

TensorBoard是TensorFlow自带的一个强大的可视化工具,也是一个Web应用程序套件。TensorBoard目前支持7种可视化,即SCALARS、IMAGES、AUDIO、GRAPHS、DISTRIBUTIONS、HISTOGRAMS和EMBEDDINGS。这7种可视化的主要功能如下。

SCALARS:展示训练过程中的准确率、损失值、权重/偏置的变化情况。
IMAGES:展示训练过程中记录的图像。
AUDIO:展示训练过程中记录的音频。
GRAPHS:展示模型的数据流图,以及训练在各个设备上消耗的内存和时间。
DISTRIBUTIONS:展示训练过程中记录的数据的分布图。
HISTOGRAMS:展示训练过程中记录的数据的柱状图。
EMBEDDINGS:展示词向量(如Word2vec)后的投影分布。

TensorBoard通过运行一个本地服务器,来监听6006端口。在浏览器发出请求时,分析训练时记录的数据,绘制训练过程中的图像。在9.3节的MNIST示例中,会逐一讲解TensorBoard的图像绘制,让读者更好地了解训练的过程中发生了什么。本节我们就先看一下TensorBoard能够绘制出哪些东西。

TensorBoard的可视化界面如图3-13所示。

f3192aef420e20967871b3a29357309bb1cc1aa4

从图3-13中可以看到,在标题处有上述几个可视化面板,下面通过一个示例,分别介绍这些可视化面板的功能。

这里,我们运行手写数字识别的入门例子,如下:

python tensorflow-1.1.0/tensorflow/examples/tutorials/mnist/mnist_with_summaries.py```
然后,打开TensorBoard面板:

tensorboard ––logdir=/tmp/mnist/logs/mnist_with_summaries`
这时,输出:

Starting TensorBoard 39 on port 6006
(You can navigate to http://192.168.0.101:6006)```
我们就可以在浏览器中打开http://192.168.0.101:6006,查看面板的各项功能。

####3.2.1 SCALARS面板
SCALARS面板的左边是一些选项,包括Split on undercores(用下划线分开显示)、Data downloadlinks(数据下载链接)、Smoothing(图像的曲线平滑程度)以及Horizontal Axis(水平轴)的表示,其中水平轴的表示分3种(STEP代表迭代次数,RELATIVE代表按照训练集和测试集的相对值,WALL代表按照时间),如图3-14左边所示。图3-14右边给出了准确率和交叉熵损失函数值的变化曲线(迭代次数是1000次)。    
<div style="text-align: center"><img src="https://yqfile.alicdn.com/20aaa99955db74ddb51dbc57fb0c3c79db2cab12.png" width="" height="">
</div>

SCALARS面板中还绘制了每一层的偏置(biases)和权重(weights)的变化曲线,包括每次迭代中的最大值、最小值、平均值和标准差,如图3-15所示。
<div style="text-align: center"><img src="https://yqfile.alicdn.com/e8a287f720421a89f1aa5183aa3221352b96e456.png" width="" height="">
</div>

####3.2.2 IMAGES面板
图3-16展示了训练数据集和测试数据集经过预处理后图片的样子。
<div style="text-align: center"><img src="https://yqfile.alicdn.com/c899d7623fc9d6764a0b3e7448005179d5c4b300.png" width="" height="">
</div>

####3.2.3 AUDIO面板
AUDIO面板是展示训练过程中处理的音频数据。这里暂时没有找到合适的例子,读者了解即可。

####3.2.4 GRAPHS面板
GRAPHS面板是对理解神经网络结构最有帮助的一个面板,它直观地展示了数据流图。图 3-17 所示界面中节点之间的连线即为数据流,连线越粗,说明在两个节点之间流动的张量(tensor)越多。
<div style="text-align: center"><img src="https://yqfile.alicdn.com/25c6e37ea5dd7c05c5917464e2812e8c9191851a.png" width="" height="">
</div>

在GRAPHS面板的左侧,可以选择迭代步骤。可以用不同Color(颜色)来表示不同的Structure(整个数据流图的结构),或者用不同Color来表示不同Device(设备)。例如,当使用多个GPU时,各个节点分别使用的GPU不同。

当我们选择特定的某次迭代(如第899次)时,可以显示出各个节点的Compute time(计算时间)以及Memory(内存消耗),如图3-18所示。
<div style="text-align: center"><img src="https://yqfile.alicdn.com/3aaabf21ee6450383fccb33cb379ed0644795abd.png" width="" height="">
</div>

####3.2.5 DISTRIBUTIONS面板
DISTRIBUTIONS面板和接下来要讲的HISTOGRAMS面板类似,只不过是用平面来表示来自特定层的激活前后、权重和偏置的分布。图3-19展示的是激活之前和激活之后的数据分布。
<div style="text-align: center"><img src="https://yqfile.alicdn.com/e99211f6fc980b8b5db8f002b7f316befa4d1e80.png" width="" height="">
</div>

###3.2.6 HISTOGRAMS面板
HISTOGRAMS主要是立体地展现来自特定层的激活前后、权重和偏置的分布。图3-20展示的是激活之前和激活之后的数据分布。
<div style="text-align: center"><img src="https://yqfile.alicdn.com/20d6f843de341a957c9b51939bae77f60b2fa2a3.png" width="" height="">
</div>

####3.2.7 EMBEDDINGS面板
相关文章
|
9月前
|
机器学习/深度学习 PyTorch TensorFlow
TensorFlow与PyTorch深度对比分析:从基础原理到实战选择的完整指南
蒋星熠Jaxonic,深度学习探索者。本文深度对比TensorFlow与PyTorch架构、性能、生态及应用场景,剖析技术选型关键,助力开发者在二进制星河中驾驭AI未来。
985 13
|
9月前
|
人工智能 自然语言处理 TensorFlow
134_边缘推理:TensorFlow Lite - 优化移动端LLM部署技术详解与实战指南
在人工智能与移动计算深度融合的今天,将大语言模型(LLM)部署到移动端和边缘设备已成为行业发展的重要趋势。TensorFlow Lite作为专为移动和嵌入式设备优化的轻量级推理框架,为开发者提供了将复杂AI模型转换为高效、低功耗边缘计算解决方案的强大工具。随着移动设备硬件性能的不断提升和模型压缩技术的快速发展,2025年的移动端LLM部署已不再是遥远的愿景,而是正在成为现实的技术实践。
1721 39
|
机器学习/深度学习 人工智能 TensorFlow
基于TensorFlow的深度学习模型训练与优化实战
基于TensorFlow的深度学习模型训练与优化实战
819 3
|
机器学习/深度学习 TensorFlow API
机器学习实战:TensorFlow在图像识别中的应用探索
【10月更文挑战第28天】随着深度学习技术的发展,图像识别取得了显著进步。TensorFlow作为Google开源的机器学习框架,凭借其强大的功能和灵活的API,在图像识别任务中广泛应用。本文通过实战案例,探讨TensorFlow在图像识别中的优势与挑战,展示如何使用TensorFlow构建和训练卷积神经网络(CNN),并评估模型的性能。尽管面临学习曲线和资源消耗等挑战,TensorFlow仍展现出广阔的应用前景。
531 5
|
机器学习/深度学习 数据挖掘 TensorFlow
解锁Python数据分析新技能,TensorFlow&PyTorch双引擎驱动深度学习实战盛宴
在数据驱动时代,Python凭借简洁的语法和强大的库支持,成为数据分析与机器学习的首选语言。Pandas和NumPy是Python数据分析的基础,前者提供高效的数据处理工具,后者则支持科学计算。TensorFlow与PyTorch作为深度学习领域的两大框架,助力数据科学家构建复杂神经网络,挖掘数据深层价值。通过Python打下的坚实基础,结合TensorFlow和PyTorch的强大功能,我们能在数据科学领域探索无限可能,解决复杂问题并推动科研进步。
346 0
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
504 0
|
安全 Apache 数据安全/隐私保护
你的Wicket应用安全吗?揭秘在Apache Wicket中实现坚不可摧的安全认证策略
【8月更文挑战第31天】在当前的网络环境中,安全性是任何应用程序的关键考量。Apache Wicket 是一个强大的 Java Web 框架,提供了丰富的工具和组件,帮助开发者构建安全的 Web 应用程序。本文介绍了如何在 Wicket 中实现安全认证,
381 0
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
1516 55
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
937 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
机器学习/深度学习 数据采集 数据可视化
TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤
本文介绍了 TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤,包括数据准备、模型定义、损失函数与优化器选择、模型训练与评估、模型保存与部署,并展示了构建全连接神经网络的具体示例。此外,还探讨了 TensorFlow 的高级特性,如自动微分、模型可视化和分布式训练,以及其在未来的发展前景。
1202 5