【论文复现】生成器loss无法回传
Created by: R132
kp_source = self.kp_extractor(x['source'])
kp_driving = self.kp_extractor(x['driving'])
# kp_source["value"].backward() # ok on 09042108
generated = self.generator(x['source'], kp_source=detach_kp(kp_source), kp_driving=detach_kp(kp_driving))
generated.update({'kp_source': kp_source, 'kp_driving': kp_driving}) # 似乎是dict的操作
generated["prediction"].backward()
kp_extractor和generator分别是两个网络, kp_extractor的输出可以backward() ,generator使用kp_extractor的输出作为部分输入,kp_extractor的结果在detach后generator的结果可以回传梯度,但不进行detach操作则不可以(kp_source的回传已注释,没有执行) 这是什么原因呢?要怎么修改?有没有参考程序?
无法看到错误信息,原因如: https://github.com/PaddlePaddle/Paddle/issues/27041