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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介:

本节书摘来异步社区《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面板
相关文章
|
1月前
|
机器学习/深度学习 TensorFlow API
机器学习实战:TensorFlow在图像识别中的应用探索
【10月更文挑战第28天】随着深度学习技术的发展,图像识别取得了显著进步。TensorFlow作为Google开源的机器学习框架,凭借其强大的功能和灵活的API,在图像识别任务中广泛应用。本文通过实战案例,探讨TensorFlow在图像识别中的优势与挑战,展示如何使用TensorFlow构建和训练卷积神经网络(CNN),并评估模型的性能。尽管面临学习曲线和资源消耗等挑战,TensorFlow仍展现出广阔的应用前景。
71 5
|
1月前
|
机器学习/深度学习 人工智能 TensorFlow
基于TensorFlow的深度学习模型训练与优化实战
基于TensorFlow的深度学习模型训练与优化实战
94 0
|
4月前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
73 1
|
3月前
|
机器学习/深度学习 数据挖掘 TensorFlow
解锁Python数据分析新技能,TensorFlow&PyTorch双引擎驱动深度学习实战盛宴
在数据驱动时代,Python凭借简洁的语法和强大的库支持,成为数据分析与机器学习的首选语言。Pandas和NumPy是Python数据分析的基础,前者提供高效的数据处理工具,后者则支持科学计算。TensorFlow与PyTorch作为深度学习领域的两大框架,助力数据科学家构建复杂神经网络,挖掘数据深层价值。通过Python打下的坚实基础,结合TensorFlow和PyTorch的强大功能,我们能在数据科学领域探索无限可能,解决复杂问题并推动科研进步。
72 0
|
4月前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
91 0
|
4月前
|
安全 Apache 数据安全/隐私保护
你的Wicket应用安全吗?揭秘在Apache Wicket中实现坚不可摧的安全认证策略
【8月更文挑战第31天】在当前的网络环境中,安全性是任何应用程序的关键考量。Apache Wicket 是一个强大的 Java Web 框架,提供了丰富的工具和组件,帮助开发者构建安全的 Web 应用程序。本文介绍了如何在 Wicket 中实现安全认证,
50 0
|
4月前
|
机器学习/深度学习 数据采集 TensorFlow
从零到精通:TensorFlow与卷积神经网络(CNN)助你成为图像识别高手的终极指南——深入浅出教你搭建首个猫狗分类器,附带实战代码与训练技巧揭秘
【8月更文挑战第31天】本文通过杂文形式介绍了如何利用 TensorFlow 和卷积神经网络(CNN)构建图像识别系统,详细演示了从数据准备、模型构建到训练与评估的全过程。通过具体示例代码,展示了使用 Keras API 训练猫狗分类器的步骤,旨在帮助读者掌握图像识别的核心技术。此外,还探讨了图像识别在物体检测、语义分割等领域的广泛应用前景。
39 0
|
12天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
154 55
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤
本文介绍了 TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤,包括数据准备、模型定义、损失函数与优化器选择、模型训练与评估、模型保存与部署,并展示了构建全连接神经网络的具体示例。此外,还探讨了 TensorFlow 的高级特性,如自动微分、模型可视化和分布式训练,以及其在未来的发展前景。
76 5
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
84 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络