训练损失收敛问题
收藏回复举报
训练损失收敛问题
t('forum.solved') 已解决
发表于2023-06-08 14:29:46
0 查看

一、环境信息

CANN版本:6.0.1

Pytorch:1.11.0a0+gitbc2c6ed

Python:3.7.10

操作系统:Linux notebook-38cebc6c-542b-4e0e-94de-4c98ce98ebc5 4.19.36-vhulk1907.1.0.h619.eulerosv2r8.aarch64 #1 SMP Mon Jul 22 00:00:00 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux

MindStudio版本 : 1.10.1

服务器:Ascend: 1*Ascend-910(32GB) | ARM: 24 核 96GB

二、问题描述

U2net训练已在代码中添加混合精度如下图:

cke_7492.png

cke_7987.png

当opt_level=O2,loss_scale=128.0时,训练初始正常收敛,但是十几个epoch之后出现回弹且之后损失一直无法正常收敛,记录曲线变化如下图:

cke_29569.png

尝试按照帮助文档的方式调整opt_level和loss_scale,但是opt_level一旦改成O1启动训练训练就报错,无论loss_scale如何设置,如下图:

cke_52128.png

cke_51045.png

请问这种情况要怎么做呢?是要替换损失函数吗?

谢谢

我要发帖子