推广 热搜: page  关键词  数据分析  服务  获取  哪些  链接  数据分析系统  搜索  小红 

方式二:结合Summary API和SummaryCollector,自定义收集网络中的数据

   日期:2024-12-30     作者:y71q8    caijiyuan   评论:0    移动:https://sicmodule.kub2b.com/mobile/news/12743.html
核心提示:当前MindSpore支持将标量、图像、计算图、训练优化过程、模型超参等信息保存到summary日志文件中,并通过可视化界面进行展示。计

当前MindSpore支持将标量、图像、计算图、训练优化过程、模型超参等信息保存到summary日志文件中,并通过可视化界面进行展示。计算图数据仅能在图模式下记录,训练优化过程数据收集及地形图绘制的详细流程可参考。

MindSpore目前支持多种方式将数据记录到summary日志文件中。

在MindSpore中通过 机制提供支持快速简易地收集一些常见的信息,包括计算图,损失值,学习率,参数权重等信息的 ,叫做 。

在编写训练脚本时,仅需要实例化 ,并将其应用到 或者 中, 即可自动收集一些常见信息。 详细的用法可以参考 文档中 。

下面仅展示使用SummaryCollector自动收集数据的关键代码, 可以到gitee下载。

使用summary功能时,建议将的参数设置为。请参考文末的注意事项。

MindSpore除了提供 能够自动收集一些常见数据,还提供了Summary API,支持在网络中自定义收集其他的数据,比如每一个卷积层的输入,或在损失函数中的损失值等。

当前支持的Summary API:

记录方式如下面的步骤所示, 可以到gitee下载。

步骤一:在继承 的衍生类的 函数中调用Summary API来采集图像或标量数据或者其他数据。

比如,定义网络时,在网络的 中记录图像数据;定义损失函数时,在损失函数的 中记录损失值。

如果要记录动态学习率,可以定义优化器时,在优化器的 中记录学习率。

样例代码如下:

步骤二:在训练脚本中,实例化 ,并将其应用到 。

样例代码如下:

MindSpore支持自定义Callback, 并允许在自定义Callback中将数据记录到summary日志文件中,并通过可视化页面进行查看。

下面的样例代码则展示在自定义Callback函数中通过 模块记录网络输入到summary日志文件中。 详细的用法可以参考 文档中 。

下面展示了自定义Callback记录数据的关键样例代码, 可以到gitee下载。

上面的三种方式,支持记录计算图, 损失值等多种数据。除此以外,MindSpore还支持保存训练中其他阶段的计算图,通过 将训练脚本中 的 选项设置为 ,可以记录其他阶段的计算图,其中包括API融合后的计算图。

在保存的文件中, 即为API融合后的计算图,可以使用可视化页面对其进行查看。

如果训练时不是使用MindSpore提供的 接口,而是模仿 的 接口自由控制循环的迭代次数。则可以模拟 ,使用下面的方式记录summary API数据。

下面的例子,将演示如何使用summary API以及 的 接口在自定义训练循环中记录数据。 可以到gitee下载。 更多 的教程,请。需要说明的是,不会自动记录计算图,您需要手动传入继承了的网络实例以记录计算图。此外,生成计算图的内容仅包含您在方法中使用到的代码和函数。

由于和写数据是非进程安全的。所以在单机多卡的场景中,需要确保每张卡保存数据的目录不一样。在分布式场景下,我们通过函数设置summary目录。

示例代码如下:

除了上述使用方式外,使用summary API时还有一个记录梯度信息的技巧。请注意此技巧需要和上述的某一种使用方式同时使用。

本文地址:https://sicmodule.kub2b.com/news/12743.html     企库往 https://sicmodule.kub2b.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新资讯
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号