MindInsight训练可视化(Beta)
概述
MindInsight为MindSpore提供了简单易用的调优调试能力。在训练过程中,可以将标量、张量、图像、计算图、模型超参、训练耗时等数据记录到文件中,通过MindInsight可视化页面进行查看及分析。
安装
安装时默认安装路径为“/usr/local/python/bin/”用户安装时也可指定安装路径。
配置环境变量:
- 执行如下命令打开文件系统中的~/.bashrc文件:
在文件最后添加如下环境变量:
export PATH=/usr/local/python3/bin:$PATH
“/usr/local/python3/bin”为示例安装路径,请根据实际情况配置。
:wq!保存退出。
- 执行命令使环境变量生效。
- 验证是否成功安装。
mindinsight start
如果出现下列提示,说明安装成功。
Web address: http://127.0.0.1:8080 service start state: success
- 重启MindStudio以启用MindInsight组件。
操作步骤
MindStudio为MindInsight提供了配置入口界面,用户可通过配置界面设置MindInsight相关参数。用户可以根据自己需求,使用MindStudio创建基于MindSpore框架训练工程,在训练工程创建后可以随时启动MindInsight,查看训练的可视化信息。
- 修改训练脚本。
使用MindInsight前,需要修改训练脚本,使用 SummaryCollector 进行数据收集后将训练过程中的数据记录下来,并指定所保存的数据的位置。在训练脚本train.py中添加如下代码:
# 在导入模块添加代码 from mindspore.train.callback import SummaryCollector
# 在if config.save_checkpoint语句块后添加加粗代码 if config.save_checkpoint: config_ck = CheckpointConfig(save_checkpoint_steps=config.save_checkpoint_epochs * step_size, keep_checkpoint_max=config.keep_checkpoint_max) ckpt_cb = ModelCheckpoint(prefix="resnet", directory=ckpt_save_dir, config=config_ck) cb += [ckpt_cb] summary_collector = SummaryCollector(summary_dir='./summary_dir',collect_freq=32) cb += [summary_collector]
# 将代码中的dataset_sink_mode值修改为False model.train(config.epoch_size - config.pretrain_epoch_size, dataset, callbacks=cb, sink_size=dataset.get_dataset_size(), dataset_sink_mode=False)
此处的“summary_dir”为相对于当前训练脚本下的路径。
- 进入MindInsight管理界面。
在工具栏选择表1所示。
打开MindInsight管理界面。MindInsight管理界面可显示并管理多个MindInsight训练可视化工程。MindInsight管理界面相关属性说明如表1 管理界面属性说明 属性
说明
Run Config
训练工程中的运行配置信息。
Run Type
训练工程运行类型。
MindInsight Staus
MindInsight状态。
- ENABLE:开启
- DISABLE:停止
用户可在图1选择需要可视化的训练工程,然后单击 按钮打开并配置MindInsight组件的相关参数界面。
- 配置MindInsight组件相关参数。
用户可在图2配置训练可视化相关参数。由用户自行根据实际情况配置参数。
表2 参数说明 参数名
参数说明
可选/必选
示例
Summary Base Dir
指定加载训练日志数据的根目录。
必选
示例:“scripts/train/summary_dir”。
WorkSpace
MindInsight组件工作目录路径。
可选
默认值:“$HOME/mindsight”。可通过MindInsight start 命令查看当前路径参数值。
Port
数据传输端口。取值范围:1~65535。
可选
默认值:8080。取值范围:1~65535。
URL Path Prefix
Web服务器URL地址前缀。
可选
默认值:127.0.0.1。地址前缀由斜杠(/)分隔多个部分,各部分支持由字母/数字/下划线/连字符/点符组成的字符串,但不能为单点号(.)或双点号(..)。
ReLoad Interval
指定加载数据的时间间隔(单位:秒)。
可选
默认值:3。取值范围:0~300。
Enable Debugger
是否开启Debugger功能。
可选
默认值:False。取值范围:“True,False,1,0”。
Debugger Port
指定Debugger Server服务端口(需开启Debugger功能,才能指定服务端口)。
可选
默认值:50051。取值范围:1~65535。
- 单击“OK”完成MindInsight组件相关参数配置,界面自行回到图1并显示MindInsight当前状态信息。
- 可视化查看训练信息。
如果“MindInsight Staus”值为“ENABLE”,即MindInsight可视化为开启状态,用户可单击“View”查看训练工程训练日志信息。打开Web UI,可视化查看实时训练信息。或单击“Disable”停止MindInsight可视化进程。
- 查看实时训练信息需要使用浏览器,如果未安装浏览器,请用户自行安装。
- 单击“View”查看训练工程训练日志信息时,若无法连接浏览器,请参见使用MindInsight查看训练工程日志信息时显示浏览器无法连接。