# 迁移网络tacotron2时遇到grad\_fn反向求导报错

**1. 系统环境**

硬件环境\(Ascend/GPU/CPU\): GPU

软件环境: MindSpore 版本: 2.0

执行模式（静态图/动态图）： 不限

Python 版本: 3.7.6

操作系统平台: linux

**2. 报错信息**

2.1 问题描述

迁移网络任务-tacotron2时遇到grad\_fn反向求导报错。

2.2 报错信息

![](figures/zh-cn_image_0000002101435760.png)

**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)
```

