购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 TensorBoard的使用

2.2.1 TensorBoard的启动

上一节完成了简单神经网络的数据流图定义和运行。当神经网络越来越复杂时,如深度神经网络,对于大部分人而言,理解其内部的组织、结构及训练过程是很大的挑战。因此,有必要对数据流图进行可视化,这就要用到TensorBoard(图2-3)。TensorBoard是TensorFlow内置的一个可视化工具,它通过将TensorFlow程序输出的日志文件信息可视化,使用户对TensorFlow程序的理解、调试和优化更加简单高效。

TensorBoard的启动过程可以概括为以下几步。

(1)创建writer,写日志文件。

(2)运行可视化命令,启动服务。

(3)通过浏览器打开可视化界面。

图2-3 TensorBoard

接下来使用TensorBoard对上节中的简单神经网络数据流图进行可视化呈现,使读者熟悉TensorBoard的使用流程。对于数据流图中的每一步操作,都可以使用TensorBoard进行可视化。首先在上节案例代码的后面添加如下代码并重新运行。

在这行代码中,tf.summary.FileWriter()方法会将数据流图的描述sess.graph写到当前项目路径下的my_graph文件夹中(图2-4)。

图2-4 my_graph文件夹

添加代码并运行完程序后,在PyCharm界面中单击“Terminal”标签,在当前项目路径后面输入如下命令,如图2-5所示。

回车后会出现图2-6所示的提示。按提示打开相应的网址,启动TensorBoard,如图2-7所示。

图2-5 输入启动命令

图2-6 系统提示在6006端口启动TensorBoard

图2-7 启动TensorBoard

上述命令也可替换成以下写法,但要注意复制命令时,有可能得到的是中文引号,这时会出现TensorBoard中Graph为空的情况。

2.2.2 TensorBoard界面介绍

在浏览器中启动TensorBoard后,可以看到界面中有多个标签页。图2-8显示了各个标签页的基本作用。

图2-8 各个标签页的基本作用

“GRAPHS”标签页如图2-9所示,它用于显示项目对应的可视化数据流图,可通过鼠标滚轮改变显示大小。这是最常用的标签页,可以显示神经网络的整体结构,以及张量的流动方向和操作。

在该标签页中单击某个节点,即可显示该节点的详细信息,如图2-10所示。

启动TensorBoard时默认打开“SCALARS”标签页,它主要用于记录准确率、损失和学习率等数据的变化趋势,需要事先在代码中用tf.summary.scalar()方法将相关信息记录到文件中。

图2-9 “GRAPHS”标签页

图2-10 节点详细信息

tf.summary.scalar(name, tensor)方法有以下两个参数。

(1)name:用节点的名称作为曲线图的名称。

(2)tensor:包含单个值的张量。

对于上节案例中的简单神经网络,由于没有在代码中计算准确率、损失等,所以在“SCALARS”标签页中看不到任何信息(图2-7)。

如果网络模型的输入是图像,则可在“IMAGES”标签页中查看相应的输入图像,默认显示最新的输入图像。

“DISTRIBUTIONS”标签页主要用来展示神经网络中各参数随迭代次数的变化情况。

“HISTOGRAMS”标签页和“DISTRIBUTIONS”标签页是对同一数据不同形式的展现。它用横轴表示权重值,用纵轴表示迭代次数。颜色越深表示时间越早,颜色越浅表示时间越晚(越接近训练结束)。 HF91xXetmwEtHF2HM97JL0wLK9mS/W3k1jalQrTFIOQV3ypH3xPJr46I4TO1O430

点击中间区域
呼出菜单
上一章
目录
下一章
×