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

相关推荐
桃西西呀31 分钟前
你拍的一堆硬币,手机怎么一眼数出有几枚?聊聊边缘、轮廓和模板匹配
人工智能·llm·图像识别
米小虾33 分钟前
多智能体还在"说话":C2C 把 KV-Cache 直接传给另一个模型,2.5× 加速背后的五个死结
人工智能·agent
人工智能AI技术33 分钟前
Spring factory-method踩坑实录,Bean类型异常一次讲透
人工智能
AI职业加油站34 分钟前
数据要素价值释放年:大数据治理工程师,站上职业新风口
人工智能·学习·职场和发展·数据分析·职场发展
小眼睛和小僵尸35 分钟前
【全宇宙恒等系统云端部署和跑起来】
人工智能·全球发展·全宇宙发展
倍利福猎头公司官方账号44 分钟前
2026具身智能赛道还火热吗?机器人人选该如何思考下半年的工作机会?
人工智能·面试·职场和发展·机器人·求职招聘
Dawson Zhu1 小时前
大模型记忆系统设计:分层架构与关键技术解析
人工智能·语言模型·架构·aigc·agi
嘻嘻的AI日记1 小时前
智能知识库系统,重构智能知识库的可信底色
人工智能
天远API1 小时前
零信任架构实战:基于天远车信盟出险构建自动化车险评估网关
人工智能·ai·工具分享
打工仔折腾 AI1 小时前
用 Docker 部署 Excalidraw 手绘白板并配置固定公网访问的完整实践
人工智能·后端·python