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

相关推荐
深念Y3 分钟前
图数据库 vs 向量数据库:AI时代的两个“最强大脑”
数据库·人工智能·neo4j·图论··向量·rag
黎阳之光9 分钟前
黎阳之光核工厂202应急管控平台|全域实景孪生,筑牢核安全最后一道防线
大数据·人工智能·算法·安全·数字孪生
小程故事多_8016 分钟前
破局AI Agent落地困境,Harness六大组件全解析与实践启示
人工智能·自动化·ai编程
深念Y19 分钟前
感知机 ≈ 可学习的逻辑门?聊聊激活函数与二元分类的本质
人工智能·学习·分类·感知机·激活函数·逻辑门·二元分类
LaughingZhu19 分钟前
Product Hunt 每日热榜 | 2026-04-18
人工智能·经验分享·深度学习·神经网络·产品运营
Raink老师21 分钟前
【AI面试临阵磨枪】大模型中的温度(Temperature)、Top-p、Top-k、Repetition penalty 分别控制什么?
人工智能·ai 面试
liu****34 分钟前
LangGraph-AI应用开发框架(三)
人工智能·python·langchain·langgraph·大模型部署
Only you, only you!37 分钟前
Openclaw本地部署,开启养龙虾模式
人工智能·vllm·gent
克里普crirp42 分钟前
短波通信的可用频率计算方法
人工智能·算法·机器学习
px不是xp44 分钟前
DeepSeek API集成:让小程序拥有AI大脑
javascript·人工智能·小程序