MindInsight可视化作业
ModelArts支持在开发环境中开启MindInsight可视化工具。在开发环境中通过小数据集训练调试算法,主要目的是验证算法收敛性、检查是否有训练过程中的问题,方便用户调测。
MindInsight能可视化展现出训练过程中的标量、图像、计算图以及模型超参等信息,同时提供训练看板、模型溯源、数据溯源、性能调试等功能,帮助您在更高效地训练调试模型。MindInsight当前支持基于MindSpore引擎的训练作业。MindInsight相关概念请参考MindSpore官网。
MindSpore支持将数据信息保存到Summary日志文件中,并通过可视化界面MindInsight进行展示。
前提条件
使用MindSpore引擎编写训练脚本时,为了保证训练结果中输出Summary文件,您需要在脚本中添加收集Summary相关代码。
将数据记录到Summary日志文件中的具体方式请参考收集Summary数据。
注意事项
- 在开发环境跑训练任务,在开发环境使用MindInsight,要求先启动MindInsight,后启动训练进程。
- 仅支持单机单卡训练。
- 运行中的可视化作业不单独计费,当停止Notebook实例时,计费停止。
- Summary文件如果存放在OBS中,由OBS单独收费。任务完成后请及时停止Notebook实例,清理OBS数据,避免产生不必要的费用。
在开发环境中创建MindInsight可视化作业流程
Step1 创建开发环境并在线打开
在ModelArts控制台,进入
页面,创建MindSpore引擎的开发环境实例。创建成功后,单击开发环境实例操作栏右侧的 ,在线打开运行中的开发环境。- mindspore1.2.0版本,CPU/GPU规格的资源类型。
- mindspore1.5.x以上版本,Ascend规格的资源类型。
Step2 上传Summary数据
在开发环境中使用MindInsight可视化功能,需要用到Summary数据。
Summary数据可以直接传到开发环境的这个路径下/home/ma-user/work/,也可以放到OBS并行文件系统中。
- Summary数据上传到Notebook路径/home/ma-user/work/下的方式,请参见上传数据至Notebook。
- Summary数据如果是通过OBS并行文件系统挂载到Notebook中,请将模型训练时产生的Summary文件先上传到OBS并行文件系统,并确保OBS并行文件系统与ModelArts在同一区域。在Notebook中启动MindInsight时,Notebook会自动从挂载的OBS并行文件系统目录中读取Summary数据。
Step3 启动MindInsight
在开发环境的JupyterLab中打开MindInsight有多种方法。可根据使用习惯选择。
方式1:
- 单击入口1,进入JupyterLab开发环境,并自动创建“.ipynb”文件。
- 在对话框中输入MindInsight相应命令,即可展示界面。
%reload_ext mindinsight %mindinsight --port {PORT} --summary-base-dir {SUMMARY_BASE_DIR}
参数解释:
- --port {PORT}:指定Web可视化服务端口。可以不设置,默认使用8080端口。如果8080端口被占用了,需要在1~65535任意指定一个端口。
- --summary-base-dir {SUMMARY_BASE_DIR}:表示数据在开发环境中的存储路径。
- 开发环境本地路径:“./work/xxx”(相对路径)或/home/ma-user/work/xxx(绝对路径)
- OBS并行文件系统桶的路径:obs://xxx/
例如: #Summary数据如果是在开发环境的这个路径下/home/ma-user/work/,执行下面这条命令 %mindinsight --summary-base-dir /home/ma-user/work/xxx 或者 #Summary数据如果是存在OBS并行文件系统中,执行下面这条命令,开发环境会自动挂载该OBS并行文件系统路径并读取数据 %mindinsight --summary-base-dir obs://xxx/
图2 MindInsight界面(1)
方式2:
单击入口2,直接进入MindInsight可视化界面。
默认读取路径/home/ma-user/work/
当存在两个以及以上工程的log时,界面如下。通过Runs下选择查看相对应的log。
方式3:
- 单击入口3 “View > Activate Command Palette”,在搜索框中输入“MindInsight”,再单击“Create a new MindInsight”。
图4 Create a new MindInsight
- 填写需要查看的Summary数据路径,或者OBS并行文件系统桶的路径,单击CREATE。
- 开发环境本地路径:./summary(相对路径)或/home/ma-user/work/summary(绝对路径)
- OBS并行文件系统的路径:obs://xxx/
图5 输入Summary数据路径
图6 MindInsight界面(3)
方式2及方式3最多可以启动10个MindInsight实例。
方式4:
单击入口4 ,输入并执行以下命令,但启动后不能显示UI界面。
mindinsight start --summary-base-dir ./summary_dir
Step4 查看训练看板中的可视化数据
训练看板是MindInsight的可视化组件的重要组成部分,而训练看板的标签包含:标量可视化、参数分布图可视化、计算图可视化、数据图可视化、图像可视化和张量可视化等。
更多功能介绍请参见MindSpore官网资料:查看训练看板中可视的数据。
相关操作
关闭MindInsight方式如下:
- 方式1:在开发环境JupyterLab中的“.ipynb”文件窗口中输入命令,关闭MindInsight。端口号在启动MindInsight中设置,默认使用8080,需要替换为实际开启MindInsight时的端口。
!mindinsight stop --port 8080
- 方式2:单击下方按钮进入MindInsight实例管理界面,该界面记录了所有启动的MindInsight实例,单击对应实例后面的SHUT DOWN即可停止该实例。
图8 单击SHUT DOWN停止实例
- 方式3:单击下方红框中的按钮可以关闭所有启动的MindInsight实例。
图9 关闭所有启动的MindInsight实例
- 方式4(不推荐):直接在JupyterLab中上关闭MindInsight窗口,此方式仅是关闭MindInsight可视化窗口,并未关闭后台。