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

相关推荐
进击的雷神2 分钟前
怕 AI Agent 乱删文件?Tank-OS 把它锁进不可变系统
人工智能·ai·api·agent
lucas_AI3 分钟前
用 AI 复读公元前 3 世纪的石碑:阿育王铭文从风化岩石直通英译
人工智能
lucas_AI3 分钟前
页都塞给模型了,它还是答错:哈工大实测 VLM『拿着证据不用』有多离谱
人工智能
Fxkj8887 分钟前
佛山企业做小程序:模板定制与源码定制怎么选?
人工智能·小程序
老鱼说AI9 分钟前
卷积神经网络的反向传播细节
人工智能·深度学习·神经网络·机器学习·计算机视觉·cnn·超分辨率重建
张彦峰ZYF9 分钟前
从 Petri 到自动化对齐研究员:修复、审计与递归风险
人工智能·自动化对齐研究员·petri;后训练;·安全差距闭合率·弱到强监督·奖励黑客;可扩展监督·ai 治理
涛思数据(TDengine)10 分钟前
陶建辉获聘中国通信标准化协会本体工程专家委员会首批委员
人工智能·时序数据库·tdengine·工业互联网·工业ai
星辰云-14 分钟前
基于机器学习的敦煌壁画修复数据分析系统
大数据·人工智能·机器学习·数据分析·毕设·文物修复·壁画修复
夕阳_醉了17 分钟前
让 AI 回答“打字般”浮现:用 Vue 3 + DeepSeek 实现流式聊天
前端·vue.js·人工智能
xiaoyunxuexibiji19 分钟前
供应商绩效评价体系如何建立?从评价指标到自动化考核
运维·人工智能·自动化