记.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/

相关推荐
liudanzhengxi7 小时前
GitSubmodule避坑全攻略
人工智能·新人首发
用户425210800607 小时前
Claude Code Linux 服务器部署与配置
人工智能
OJAC1117 小时前
学过Python却不敢投AI岗,他最后拿下12K offer
人工智能
Bigger7 小时前
因为看不懂小棉袄的画,我写了个 AI 程序帮我“翻译”她的世界
前端·人工智能·ai编程
CeshirenTester7 小时前
LangChain的工具调用 vs 原生Skill API:性能差在哪儿?
java·人工智能·langchain
爱问的艾文7 小时前
八周带你手搓AI应用-第二周-让AI更像人-第1天-流式输出改造
人工智能
多年小白7 小时前
【周末消息面汇总】2026年5月10日(周日)
人工智能·科技·机器学习·ai·金融
码农小白AI7 小时前
宠物用品耐磨检测走向标准化新阶段:IACheck让AI报告审核更无忧更稳定
人工智能
用户223586218207 小时前
MCP 是 Claude 的 什么? - claude-10
人工智能·claude·vibecoding
MediaTea8 小时前
Scikit-learn:从数据到结构——无监督学习的最小闭环
人工智能·学习·算法·机器学习·scikit-learn