在使用mse损失函数进行对抗攻击的时候,loss反向传播一直报错,最终改成如下形式才能够正常运行
复制代码
1
2
3
4
5
6loss11 = F.mse_loss(logits, logits_target, reduction='none').sum(axis=1) loss12 = F.mse_loss(logits, logits_true, reduction='none').sum(axis=1) loss1 = 4 * loss11 - loss12 loss = torch.mean(loss) optimizer.zero_grad() loss.backward()
同时,如果使用交叉熵损失函数则不需要reduction=none及torch.mean操作。
原因暂时未知
最后
以上就是懦弱玉米最近收集整理的关于loss反向传播出错问题的全部内容,更多相关loss反向传播出错问题内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复