公开课6:MindSpore可视化工具使用指南

5 月12 日,机器之心联合华为昇腾学院开设的线上公开课《轻松上手开源框架MindSpore》第 6 课完成,王越讲师为大家带来了主题分享《MindSpore可视化工具使用指南》,第 6 课回顾视频如下:

第六课精选问答 

在第六课的QA环节中,有一些问题被大家广泛提到,王越讲师再次做了精选与编辑,供大家参考。

Q1momentum是SGD?

momentum是SGD的优化方法,主要思想是引入一个积攒历史梯度的信息动量,来加速SGD。我认为它主要解决了SGD的两个问题,一个是随机梯度的方法引入的噪声,另一个是 SGD在收敛过程中,和我们想要的梯度相比,会有比较大的摆动。

当前mindspore提供既提供了SGD,又提供了momentum

Q2:和TensorBoard有什么区别?

我认为主要的区别有以下几点:

  1. 从设计思路上来说,TensorBoard主要以插件化的形式来进行构建,它的好处是开发比较方便,功能解耦比较清楚。开发一个新功能,可以很快在TensorBoard添加一个新的页签。但是我认为这种模式存在的缺点是不停的添加单个的功能,缺乏总体的使用引导,指导用户怎样去一步一步调网络。 MindInsight在设计上是希望给用户提供网络调试和调优的方法论,可以看到MindInsight的入口是从训练列表开始的,点击某个训练后,希望给用户很清晰的指引:在调试调优的某个阶段遇到某个问题时,应该使用哪个功能。
  2. 从组件上来说,我认为MindInsight现在有一些特色功能是TensorBoard不具备的,比如说像溯源,数据图的展示等等。当然MindInsight现在还在比较快速的构建和开发中,会陆续上线很多新的组件。
  3. 从生态上来说,TensorBoard和Tensorflow目前主要是服务于GPU/TPU的,MindInsight和MindSpore则需要适配Ascend芯片。芯片的不同会导致在功能上的差异,比如Profiling,MindInsight需要考虑数据下沉等训练场景的性能展示。

Q3mindspore支持动态图吗?

MindSpore目前是支持动态图的,我们称这种执行模式叫Pynative,怎样使用动态图模式进行训练和调试可以参考第三讲的内容。MindInsight后续会release Debugger组件,我们可以使用Pynative模式调试脚本,图模式执行时如果出现异常可以使用MindInsight的Debugger调试。

Q4数据溯源那里说明所有训练都是同样的数据吗

在刚才的讲解视频中,我们看到的数据溯源显示的是一条直线,说明训练任务都使用了相同的数据pipeline流程。如果用户发现可能是因为某个数据增强操作导致训练异常,改变了数据增强操作,两次训练的差别就会体现在数据溯源中。

Q5目前还有其他profile方式吗?

目前在Ascend芯片训练或者推理,可以使用run包中的组件进行profile,但是使用起来会需要一些配置项,结果解析需要依靠脚本完成。MindInsight会首先基于Ascend芯片提供易用的profile能力和结果展示,然后逐步把能力迁移到GPU和CPU。

Q6nvprof可以配合mindspore吗

我个人没有尝试过,但是从原理推断应该是可以的;如果有感兴趣的同学可以进行尝试,我们可以在群组讨论。

Q7:训练中间层可视化?

如果中间层可视化是指的是计算图的中间层信息,可以使用MindInsight中的计算图可视组件进行查看。可以点开计算图,找到感兴趣的层,查看节点的名称、type等信息;

如果中间层可视化指的是中间层权重的变化趋势,可以使用HistogramSummary算子进行记录,并使用MindInsight参数分布图功能查看;

如果中间层可视化指训练时想看到中间层的计算结果,pynative模式可以配合pdb等在算子执行返回时直接查看,图模式可以依赖MindInsight后续release的Debugger进行查看。Debugger可以在某个step执行完成后暂停训练,用户可以在计算图上找到感兴趣的中间层,点击节点查看对应的算子输出。

Q8mindinsight目前可以在云上用吗

MindInsight作为一个python package,天然支持在云上使用;我们后续会提供云上场景的官方支持和说明。

Q9minsight可以输出优化后的图吗?

是可以的,summary文件中记录的计算图是MindSpore前端优化后的图,如果想查看更多阶段的图,可以在context中打开save_graphs开关,这样可以得到一些不同优化阶段的计算图文件(后缀名为.pb),可以在MindInsight中将这些计算图可视化。

Q10将来能给个加载GE图的例子吗?

目前加载GE图(ge_ir.proto)的功能还处在试用阶段,功能成熟后我们会考虑开源,届时会给出对应的文档。

第六课PPT如下:  

轻松上手开源框架MindSpore
轻松上手开源框架MindSpore

3 周时间,6 次课程,全面掌握 MindSpore的使用方法。

入门MindSpore华为
相关数据
华为机构

华为创立于1987年,是全球领先的ICT(信息与通信)基础设施和智能终端提供商,致力于把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界。目前华为有19.4万员工,业务遍及170多个国家和地区,服务30多亿人口。

https://www.huawei.com/cn/
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

TensorBoard技术

一个信息中心,用于显示在执行一个或多个 TensorFlow 程序期间保存的摘要信息。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

动量技术

优化器的一种,是模拟物理里动量的概念,其在相关方向可以加速SGD,抑制振荡,从而加快收敛

机器之心机构

机器之心,成立于2014年,是国内最具影响力、最专业、唯一用于国际品牌的人工智能信息服务与产业服务平台。目前机器之心已经建立起涵盖媒体、数据、活动、研究及咨询、线下物理空间于一体的业务体系,为各类人工智能从业者提供综合信息服务和产业服务。

https://www.jiqizhixin.com/
找到机构
推荐文章
暂无评论
暂无评论~