建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

不会法术的

发帖: 2粉丝: 0

发消息 + 关注

发表于2021年02月20日 19:13:43 80 2
直达本楼层的链接
楼主
显示全部楼层
[问题求助] 【求助】基于Ascend910的MindSpore训练无法复现GPU上的模型效果

【网络结构】

很简单的卷积下采样模型,两层卷积+ReLU

image.png


【训练环境】

1、Ascend910

2、MindSpore1.1.1


【问题描述】

使用相同的训练数据和训练流程,在Ascend上训练卷积下采样模型,一直无法复现在GPU上训练出的模型效果,在同一个测试集上的测试MS-SSIM有0.15的差距(0.945 VS 0.96)。

而且观察到一个现象:loss用的是MS-SSIM loss,在GPU上训使用的lr是0.00001,最终是可以收敛的,但是在Ascend910上训练的时候,还是用0.00001这个lr,训练十几个epoch之后,loss反而会上升,无法收敛。将lr调整到0.0000001之后训练可以收敛,但是最终模型效果无法达到GPU上的模型效果。

按理说,只是训练这么简单的模型,Ascend和GPU应该不会有这么大的差距才对,现在有几个问题想求助一下:

1、使用MindSpore训练的时候,有没有一些调优的trick?

2、因为loss使用的是MindSpore自带的Function mindspore.nn.MSSSIM 自己实现的loss,这种方式是否有问题?MindSpore内置的mindspore.nn.MSSSIM实现方式上和GPU上的MSSSIM计算方式是否有差异?下面是自定义的MS-SSIM loss实现:

image.png

3、精度的不同是否会影响实际的loss的效果?比如:在fp16精度下,MS-SSIM loss的效果是否会降低?

4、有哪些原因可能导致基于Ascend的MindSpore的训练结果无法复现GPU(Pytorch)上的结果?


谢谢!




举报
分享

分享文章到朋友圈

分享文章到微博

chengxiaoli

发帖: 131粉丝: 24

发消息 + 关注

发表于2021年02月20日 22:51:20
直达本楼层的链接
沙发
显示全部楼层

您好,欢迎使用MindSpore

问题已经收到,会尽快联系技术支撑帮助定位问题,请耐心等待一下。

点赞 评论 引用 举报

zhaoting_731

发帖: 1粉丝: 0

发消息 + 关注

发表于2021年02月22日 09:51:52
直达本楼层的链接
板凳
显示全部楼层

从你上面的描述来看,如果使用的是fp16的或者混合精度的话,可能有一些算子有溢出的情况,建议参考https://www.mindspore.cn/doc/api_python/zh-CN/r1.1/mindspore/mindspore.html?highlight=lossscale#mindspore.DynamicLossScaleManager 添加LossScale或者参考https://www.mindspore.cn/tutorial/training/zh-CN/r1.1/advanced_use/enable_mixed_precision.html 使用自动混合精度或者手动混合精度,需要注意的是如果算子中有exp操作的话比较容易溢出,可以排查下是否有这样的算子使用了fp16,有的话建议使用手动混合精度改成fp32的

点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册