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

相关推荐
硅谷秋水20 分钟前
RoboBrain 2.5:视野中的深度,思维中的时间
深度学习·机器学习·计算机视觉·语言模型·机器人
zhangfeng113325 分钟前
Warmup Scheduler深度学习训练中,在训练初期使用较低学习率进行预热(Warmup),然后再按照预定策略(如余弦退火、阶梯下降等)衰减学习率的方法
人工智能·深度学习·学习
Faker66363aaa26 分钟前
城市地标建筑与车辆检测 - 基于YOLOv10n的高效目标检测模型训练与应用
人工智能·yolo·目标检测
沃达德软件30 分钟前
电信诈骗预警平台功能解析
大数据·数据仓库·人工智能·深度学习·机器学习·数据库开发
Hy行者勇哥34 分钟前
Seedance 全面解析:定义、使用指南、同类软件与完整攻略
人工智能·学习方法·视频
琅琊榜首20201 小时前
AI赋能内容转化:小说转短剧实操全流程(零编程基础适配)
大数据·人工智能
青铜弟弟1 小时前
基于物理的深度学习模型
人工智能·深度学习
是店小二呀1 小时前
atvoss:异构计算视觉处理与AI模型加速套件深度解析
人工智能
MaoziShan2 小时前
CMU Subword Modeling | 07 Allomorphy
人工智能·机器学习·语言模型·自然语言处理
诚思报告YH2 小时前
生物制剂与生物类似药市场洞察:2026-2032年复合增长率(CAGR)为8.1%
大数据·人工智能·microsoft