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

相关推荐
Testopia4 分钟前
走一遍 AI 学习之路 —— AI实例系列说明
开发语言·人工智能·python
琅琊榜首20207 分钟前
用AI打造付费短篇小说脑洞:从灵感激活到落地变现
人工智能
机 _ 长7 分钟前
YOLO26 改进 | 训练策略 | 知识蒸馏 (Response + Feature + Relation)
python·深度学习·yolo·目标检测·机器学习·计算机视觉
Deepoch8 分钟前
Deepoc具身大模型开发板:重构农业采摘机器人的智能新生态
人工智能·科技·采摘机器人·农业机器人·具身模型·deepoc
美狐美颜sdk15 分钟前
抖动特效在直播美颜sdk中的实现方式与优化思路
前端·图像处理·人工智能·深度学习·美颜sdk·直播美颜sdk·美颜api
2501_9110676623 分钟前
光能筑底,智联全城——叁仟智慧太阳能路灯杆重构城市基础设施新生态
大数据·人工智能·重构
OpenCSG24 分钟前
AgenticOps x CSGHub:智能体时代的工程化革命,让企业 AI 落地可控可规模化
人工智能
hrrrrb31 分钟前
【算法设计与分析】随机化算法
人工智能·python·算法
Zero_to_zero12341 小时前
Claude code系列(一):claude安装、入门及基础操作指令
人工智能·python
szcsun51 小时前
机器学习(二)-线性回归实战
人工智能·机器学习·线性回归