机器学习:经过 TensorBoard 将模型可视化
作者头像
  • 速回收-手机回收
  • 2020-03-07 05:46:03 7

机器学习与传统编程有所不同,其结果往往更加难以预测。模型之间的巨大差异以及数据质量和参数微调的细微变化,都会对最终的成功产生重大影响。

利用TensorBoard找到突破口

只有通过追踪特征数据在训练过程中的变化,并全面了解模型结构,才能有效地调整和优化模型的表现。

这一过程通常难以通过可视化手段清晰呈现,但TensorFlow内置的解决方案将带来改变。现在让我们一起看看TensorFlow内部集成的可视化工具——TensorBoard,它是一个能够帮助用户更好地控制各种操作的强大工具。无论是观察模型的整体结构还是监控模型的训练过程,TensorBoard都能提供帮助。

TensorFlow的图形化构建

TensorFlow采用了计算机图形学的基本原理。具体来说,它通过构造运算并将参数传递给这些运算,而不是简单地执行基本的算术运算。因此,在训练过程中,所有的操作都被视为图的一部分。TensorBoard可以将这些操作可视化,让用户能够直观地了解模型是如何构建的,并确保每个部分都正确地连接在一起。

接下来,我们来看一个更复杂的例子,其中同样使用了TensorFlow来可视化模型。如图所示,TensorFlow允许我们放大、检查和展开模型的不同部分,从而获得更多的细节。这意味着,我们可以从不同的抽象层次观察模型,从而降低视觉复杂性。

此外,TensorBoard不仅能展示模型的结构,还可以很好地记录和显示各种特征值的变化情况。例如,我们将准确率、损失函数、交叉熵等指标绘制成图表,这些指标对于理解模型的表现至关重要。TensorFlow自带的预设发射器可以在TensorBoard中自动显示这些指标,这为后续使用提供了便利。

TensorBoard还提供了许多其他功能,例如条形图、分布图以及声音、图像和文本等与模型相关的数据展示。但这些内容的具体介绍将在后续的教程中详细介绍。

回到正题,我们现在来看一下如何在TensorBoard中查看线性模型的表现。首先需要启动TensorBoard并将其指向存储模型结构和关键中间文件的目录:

tensorboard --logdir="/tmp/iris_model/"

这将启动一个监听6006端口的本地服务器。值得注意的是,6006看起来很像“GOOG”。

在TensorBoard中,我们可以看到线性分类器提供的默认标量指标。可以通过缩放和展开这些图表来进一步研究它们。

双击可以返回到更高层级的缩放视图。从这些图表中可以看出,随着训练时间的推移,模型的损失值正在逐渐下降。然而,损失值下降的速度仍然显著,这意味着训练可能还没有达到最佳效果。因此,可能需要延长训练时间以获取更好的结果。

接下来,我们切换到“Graphs”(图形)选项卡。此时的图形相对较为简单。

通过点击图中的小块并展开,可以查看更详细的内容。例如,现在展开了“linear”模块,可以看到它包含多个子模块。通过滚动鼠标滚轮可以缩放视图,通过点击和拖动可以查看其他部分。

注意,我们在特征列中命名了特定的模块,例如这里的“flower_features”。这种命名方式有助于调试和理解模型中各部分是如何结合在一起的。大多数TensorFlow的操作都可以命名,这为我们提供了清晰阐述和监控当前训练进度的机会。

今天,我们学习了如何利用TensorBoard可视化机器学习模型的重要特征值。TensorBoard不仅使这一过程变得简单有趣,而且已经完全集成在TensorFlow中。

下次当你想将机器学习过程可视化时,记得TensorBoard是最佳选择。

    本文来源:图灵汇
责任编辑: : 速回收-手机回收
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
可视化TensorBoard模型经过机器学习
    下一篇