记.backward()报错

最近我在模型训练损失里加入了LPIPS深度感知损失,训练的时候就出现了如上的报错,具体解释为:调用梯度反向传播loss.backward()时,我们计算梯度,需要一个标量的loss(即该loss张量的维度为1,只包含一个元素);而LPIPS的输出的loss为一个4,1,1,1的4维张量(batch_size,c,h,w),因此报错。

修正:

python 复制代码
def lpips_loss(img1, img2):
    # loss_fn_alex = lpips.LPIPS(net='alex')  # best forward scores
    loss_fn_vgg = lpips.LPIPS(net='vgg')  # closer to "traditional" perceptual loss, when used for optimization
    loss_fn_vgg.cuda()
    loss = loss_fn_vgg.forward(img1, img2)
    loss = torch.mean(loss)
    return loss

参考:

grad can be implicitly created only for scalar outputs-CSDN博客https://blog.csdn.net/qq_39208832/article/details/117415229
lpips · PyPIhttps://pypi.org/project/lpips/

相关推荐
hzxxxz4 小时前
端到端测速数据采集实战:从节点部署到指标口径的完整链路
人工智能
林伽一4 小时前
能力趋同、账单分化,技术选型正在从榜单转向负载|2026年10月06日
人工智能·科技·安全·ai
Jooolin5 小时前
把 GitHub Issue 的第一轮脏活交给 AI:做一个 Issue 分诊助手
人工智能·github
具身AGI5 小时前
物理AI 空间理解:空间物理 信息的三条注入路线
人工智能·深度学习
飘尘5 小时前
从"算子"到"AI Infra":大模型背后看不见的那群人在忙什么
人工智能·算法·面试
AOI小白新手上路5 小时前
anomalib 缺陷检测复现笔记:从跑通库到 EfficientAD 落地
人工智能·笔记·机器学习
中伟视界6 小时前
危化罐区“双预警“方案解析:AI气体监测布控球+AI布控球,罐区作业怎么管?
人工智能
kaixin_啊啊6 小时前
【零基础学AI】第 3 章课后练习与答案
人工智能
Maynor9966 小时前
Claude Opus 5.5 最强可视化案例合集:114 精选 + 1000+ 完整清单(含提示词)
人工智能·开源·claude
u1301306 小时前
AI 日报(2026年10月6日)
人工智能