训练看板是MindInsight的可视化组件的重要组成部分,而训练看板的标签包含:标量可视化、参数分布图可视化、计算图可视化、数据图可视化、图像可视化、张量可视化和优化过程可视化等。
用户从训练列表中选择指定的训练,进入训练看板。
收集可视化数据及进入训练看板方法可参考《收集Summary数据》。
标量可视化用于展示训练过程中,标量的变化趋势情况。
图1:标量趋势图
图1展示了神经网络在训练过程中损失值的变化过程。横坐标是训练步骤,纵坐标是损失值。
图中右上角有几个按钮功能,从左到右功能分别是全屏展示,切换Y轴比例,开启/关闭框选,分步回退和还原图形。
图中右下角可以设置阈值并高亮显示或者删除阈值。如图所示,设置的阈值为小于1.5,红色高亮部分显示出不超出阈值的部分,能够直观地看到预期的数据值或者一些异常的数值。
图2:标量可视化功能区
图2展示的标量可视化的功能区,提供了根据选择不同标签,水平轴的不同维度和平滑度来查看标量信息的功能。
图3:Accuracy和Loss的标量合成图
图3展示Accuracy曲线和Loss曲线的标量合成图。标量合成的功能区与标量可视化的功能区相似。其中与标量可视化功能区不一样的地方,在于标签选择时,标量合成功能最多只能同时选择两个标签,将其曲线合成并展示。
参数分布图用于将用户所指定的张量以直方图的形式进行展示。
图4:参数分布图功能区
图4展示参数分布图的功能区,包含以下内容:
步骤
、相对时间
、绝对时间
中的任意一项,来作为直方图纵轴显示的数据。正视
和俯视
中的一种。正视
是指从正面的角度查看直方图,此时不同步骤之间的数据会覆盖在一起。俯视
是指偏移以45度角俯视直方图区域,这时可以呈现不同步骤之间数据的差异。图5:直方图展示
图5以俯视
视角展示了conv1.weight
张量中的数值分布直方图
其中x轴为取值区间,y轴为步骤
、相对时间
、绝对时间
中的任意一项,z轴为在对应取值区间的概率分布。例如在step 4,conv1.weight
中的值主要分布在0和0.015附近,在step 7,该张量的值主要分布在-0.01附近。点击图中右上角,可以将图放大。
计算图可视化用于展示计算图的图结构,数据流以及控制流的走向,支持展示summary日志文件与通过context
的save_graphs
参数导出的pb
文件。
图6:计算图展示区
图6展示了计算图的网络结构。如图中所展示的,在展示区中,选中其中一个算子(图中圈红算子),可以看到该算子有两个输入和一个输出(实线代表算子的数据流走向)。
图7:计算图功能区
图7展示了计算图可视化的功能区,包含以下内容:
图8:计算图优化
图8展示了优化可读性功能,该功能优化了计算图的可读性,降低计算图的复杂度,图中大部分的梯度计算逻辑和优化器计算逻辑将会被移除。
注意:
jit_level
为o0
,详细请参考mindspore.train.Model.build接口定义 。数据图可视化用于展示单次模型训练的数据处理和数据增强信息。
图9:数据图功能区
图9展示的数据图功能区包含以下内容:
图像可视化用于展示用户所指定的图片。
图10:图像可视化
图10展示通过滑动图中“步骤”滑条,查看不同步骤的图片。
图11:图像可视化功能区
图11展示图像可视化的功能区,提供了选择查看不同标签,不同亮度和不同对比度来查看图片信息。
张量可视化用于将张量以表格以及直方图的形式进行展示。
图12:张量可视化功能区
图12展示张量可视化的功能区,包含以下内容:
表格
或者直方图
来展示tensor数据。在直方图
视图下存在纵轴
和视角
的功能选择。步骤
、相对时间
、绝对时间
中的任意一项,来作为直方图纵轴显示的数据。正视
和俯视
中的一种。正视
是指从正面的角度查看直方图,此时不同步骤之间的数据会覆盖在一起。俯视
是指偏移45度角俯视直方图区域,这时可以呈现不同步骤之间数据的差异。图13:表格展示
图13将用户所记录的张量以表格的形式展示,包含以下功能:
:
表示当前维度索引范围,和Python索引含义基本一致,不指定具体索引表示当前维度所有值,2:5
表示索引2到5(不包括5)的值,可以在方框输入对应的索引或者含有:
的索引范围后按Enter
键或者点击后边的打勾按钮来查询特定维度的张量数据。假设某维度是32,则其索引范围是-32到31。注意:可以查询零维到二维的张量数据,不支持查询超过两维的张量数据,即不能设置超过两个冒号:
的查询条件。图14:直方图展示
图14将用户所记录的张量以直方图的形式进行展示。点击图中右上角,可以将图放大。
降精度算子分析模块支持一键查看当前模型所有算子信息以及是否为降精度算子,支持展示summary日志文件与通过context
的save_graphs
参数导出的pb
文件。
图15:表格展示
图15将用户所记录的算子以表格的形式展示,包含以下功能:
Excel
文件。优化过程可视化可以将将神经网络训练路径周围的优化空间展示出来,更多信息请查阅训练优化过程可视化。
目前MindSpore仅支持在Ascend 910 AI处理器上导出算子融合后的计算图。
在训练中使用Summary算子收集数据时,HistogramSummary
算子会影响性能,所以请尽量少地使用。
为了控制内存占用,MindInsight对标签(tag)数目和步骤(step)数目进行了限制:
由于TensorSummary
会记录完整Tensor数据,数据量通常会比较大,为了控制内存占用和出于性能上的考虑,MindInsight对Tensor的大小以及返回前端展示的数值个数进行以下限制:
由于张量可视(TensorSummary
)会记录原始张量数据,需要的存储空间较大。使用TensorSummary
前和训练过程中请注意检查系统存储空间充足。
通过以下方法可以降低张量可视功能的存储空间占用:
1)避免使用TensorSummary
记录较大的Tensor。
2)减少网络中TensorSummary
算子的使用个数。
功能使用完毕后,请及时清理不再需要的训练日志,以释放磁盘空间。
备注:估算TensorSummary
空间使用量的方法如下:
一个TensorSummary数据的大小 = Tensor中的数值个数 * 4 bytes
。假设使用TensorSummary
记录的Tensor大小为32 * 1 * 256 * 256
,则一个TensorSummary
数据大约需要32 * 1 * 256 * 256 * 4 bytes = 8,388,608 bytes = 8MiB
。TensorSummary
默认会记录20个步骤的数据,则记录这20组数据需要的空间约为20 * 8 MiB = 160MiB
。需要注意的是,由于数据结构等因素的开销,实际使用的存储空间会略大于160MiB。
当使用TensorSummary
时,由于记录完整Tensor数据,训练日志文件较大,MindInsight需要更多时间解析训练日志文件,请耐心等待。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。