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

相关推荐
未来之窗软件服务5 分钟前
vosk-ASR python调用[AI人工智能(五十一)]—东方仙盟
人工智能·vosk·仙盟创梦ide·东方仙盟
AI浩6 分钟前
小目标检测:微小目标的精准感知调研
人工智能·目标检测·计算机视觉
工业机器视觉设计和实现7 分钟前
人工智能的革命范式(对称美)
人工智能·cudnn微积分
trsoliu11 分钟前
本地 AI Agent Memory 系统建设方案
人工智能
月落三千雪13 分钟前
使用AI智能体搭建知识库-RAG语义检索
人工智能
汀沿河16 分钟前
2 模型预训练、微调、强化学习的格式
人工智能·算法·机器学习
灵机一物19 分钟前
灵机一物AI智能电商小程序(已上线)-产品化架构与全场景功能解析
人工智能
黄焖鸡能干四碗38 分钟前
业务数据中台技术方案(PPT)
大数据·数据库·人工智能·安全·需求分析
KG_LLM图谱增强大模型41 分钟前
Palantir “本体论”:是跨时代的AI架构,还是精心包装的“建表”骗局?
人工智能
东离与糖宝43 分钟前
AI 智能体安全踩坑记:Java 为 OpenClaw 添加权限控制与审计日志实战
java·人工智能