1.系统环境
硬件环境(Ascend/GPU/CPU): GPU
MindSpore版本: mindspore=2.0
执行模式(PyNative/ Graph):不限
Python版本:3.7
操作系统平台:Linux
2. 问题描述
迁移网络任务-tacotron2时遇到grad_fn反向求导报错
3. 问题分析
mindspore不支持字典类型的正向输出进行反向求导
4. 解决方案
将字典类型的返回变为list,将输出换成了所有loss相加,并且最后返回所有loss的信息。
def forward_fn(images,targets):
loss_sum,loss_list = model(images,targets)
return loss_sum,loss_list
grad_fn = ms,value_and_grad(forward_fn,grad_position=None,weight=params,has_aux=True)
