Created by: qingqing01
Fix https://github.com/PaddlePaddle/Paddle/issues/23998
-
问题:
y = x * x grad1 = fluid.gradients(y, x) z = grad1 + y * y grad2 = fluid.gradients(z, x)
第二次反向时,产生了和第一次反向同名的variable,覆盖了内容,导致第二次反向的一些输入有误。
-
修复方法1:
在
fluid.gradients
中,把新生成的反向var重新命名,命名关联反向的次数,使得每次反向生成的var名字不同。但
append_backward
andminimize
没有修改,不影响使用minimize和append_backward的模型。 本质上,这两个修改也没问题。