MindInsight
MindInsight为MindSpore提供了简单易用的调优调试能力。在训练过程中,可以将标量、张量、图像、计算图、模型超参、训练耗时等数据记录到文件中,通过MindInsight可视化页面进行查看及分析。
从官方的介绍中可以了解到。Mindinsight对于mindspore来说,相当于TensorFlow中的Tensorboard.
也就是可视化页面。于是去了解了一下这二者的区别。
从设计思路上来说,TensorBoard主要以插件化的形式来进行构建,它的好处是开发比较方便,功能解耦比较清楚。开发一个新功能,可以很快在TensorBoard添加一个新的页签。但是我认为这种模式存在的缺点是不停的添加单个的功能,缺乏总体的使用引导,指导用户怎样去一步一步调网络。 MindInsight在设计上是希望给用户提供网络调试和调优的方法论,可以看到MindInsight的入口是从训练列表开始的,点击某个训练后,希望给用户很清晰的指引:在调试调优的某个阶段遇到某个问题时,应该使用哪个功能。
从组件上来说,我认为MindInsight现在有一些特色功能是TensorBoard不具备的,比如说像溯源,数据图的展示等等。当然MindInsight现在还在比较快速的构建和开发中,会陆续上线很多新的组件。
从生态上来说,TensorBoard和Tensorflow目前主要是服务于GPU/TPU的,MindInsight和MindSpore则需要适配Ascend芯片。芯片的不同会导致在功能上的差异,比如Profiling,MindInsight需要考虑数据下沉等训练场景的性能展示。
安装过程:
官方安装教程链接:https://gitee.com/mindspore/mindinsight/blob/r1.1/README_CN.md
其中 介绍了源码安装和pip安装两种方式。
对于一般开发者来说,pip安装方便省事,我也是采用这种方式。
pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/{version}/MindInsight/ascend/{system}/mindinsight-{version}-cp37-cp37m-linux_{arch}.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
其中参数的介绍官方也详细的给出了,这点很棒!
{version}
表示MindInsight版本号,例如下载1.0.1版本MindInsight时,{version}
应写为1.0.1。{arch}
表示系统架构,例如使用的Linux系统是x86架构64位时,{arch}
应写为x86_64
。如果系统是ARM架构64位,则写为aarch64
。{system}
表示系统版本,例如使用的欧拉系统ARM架构,{system}
应写为euleros_aarch64
,目前Ascend版本可支持以下系统euleros_aarch64
/centos_aarch64
/centos_x86
/ubuntu_aarch64
/ubuntu_x86
;GPU版本可支持以下系统ubuntu_x86
。
使用起来也和Tensorboard一样方便。只需要在控制台输入命令 : mindinsight start --summary-base-dir ./summary_dir