迁移网络任务-tacotron2时遇到mindspore中没有Tensor.detach()方法及解决

1.系统环境

硬件环境(Ascend/GPU/CPU): Ascend
MindSpore版本: mindspore=2.0
执行模式(PyNative/ Graph):不限
Python版本:3.7
操作系统平台:Linux

2. 报错信息

迁移网络任务-tacotron2时遇到mindspore中没有Tensor.detach()方法

3. 解决方案

Mindspore在正向传播的时候不需要记录信息,所以这里使用Parameter(requires_grad=False)替换
通过查看csdn(https://blog.csdn.net/julac/article/details/129655016)可知:Torch每一步的正向都会记录反向信息,通过detach()这个接口将会让这个Tensor不求梯度。Mindspore中不会记录反向,可以在定义Tensor时候声明这个接口。
Mindspore中默认反向过程,对所有Tenor进行求导


如果说当前Tensor不需要求偏导,那么设置requires_grad=False就可以了