ToB企服应用市场:ToB评测及商务社交产业平台

标题: RuntimeError: grad can be implicitly created only for scalar outputs [打印本页]

作者: 用多少眼泪才能让你相信    时间: 3 天前
标题: RuntimeError: grad can be implicitly created only for scalar outputs
本日跑一个模型的时候,报了一个错:
RuntimeError: grad can be implicitly created only for scalar outputs
关于这个错出现的原因,可以参考博文,这里不做多余的表明:grad can be implicitly created only for scalar outputs-CSDN博客
解决:
然后呢,最直接的原因就是说,你的丧失值有题目,在你的反向传播的这些丧失当中,好比你由好几个丧失,然后这个几个丧失相加:
  1. self.loss_G = self.loss_L1 * self.opt.lambda_L1 + self.loss_G_GAN * self.opt.lambda_Gan + \
  2.                       self.Perceptual_loss * self.opt.lambda_P + self.Style_Loss * self.opt.lambda_S
复制代码
末了的反向传播是:
  1. self.loss_G.backward()
复制代码
所以,报这个错很大大概就是这个:self.loss_G出错了,你就把相加的这几个丧失都检查一遍,如果某一个丧失没有值,或者这个值有题目,那么你就返回去看看这个丧失值盘算的数据当中是否有题目,改一改就行。
最简朴的方法:
把相加的几个丧失分别代替self.loss_G举行反向传播,好比检查第一个丧失:
self.loss_L1.backward(),运行代码,若没报错就阐明这个丧失没题目,挨个挨个试,反正也就这么几个丧失,哪一个报错就收吗哪一个丧失有题目,改一下这个丧失,或者干脆不要这个丧失就行。
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4