迁移RSAN至NPU上loss不收敛问题
2024/02/21
186
问题信息
问题来源 | 产品大类 | 产品子类 | 关键字 |
---|---|---|---|
官方 | 模型训练 | PyTorch | -- |
问题现象描述
- 硬件配置:
- CANN 6.0.RC1
- PyTorch 1.8.1
- Python 3.7.5
- 镜像 ascendhub.huawei.com/public-ascendhub/pytorch-modelzoo:22.0.RC3-1.8.1
- 问题现象:
GPU和CPU能正常跑通,但PyTorch框架RSAN训练迁移失败,loss不收敛,精度评估为0,如下图所示:
- 源码地址及代码修改:
- 源码地址:https://github.com/Anery/RSAN。
- 代码修改:
- 利用torch_npu自动迁移接口进行迁移,并取消encoder和decoder对输入的padding和squeeze。
- 执行训练,训练loss不收敛,精度评估结果一直为0。
- 添加混合精度模块,再次进行训练,训练加快,但loss依然不收敛,精度评估结果仍为0。
原因分析
- 版本太老,有已知算子精度问题。
- 固定随机种子,用pdb或者dump工具比对精度误差。
排查方法
解决措施
本页内容