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

相关推荐
maxchen.cn几秒前
实时交互数字人解决方案深度剖析:以臻灵平台为例的商业价值与竞争力评估
大数据·人工智能
lwf0061642 分钟前
数据预处理(特征标准化)
人工智能·机器学习
前端达人4 分钟前
《AI 产品经理转型实战手册》介绍
人工智能·产品经理
网络工程小王5 分钟前
【DeepAgents简介】个人学习笔记
人工智能
一只AI打工虾的自我修养5 分钟前
DeepSeek V4 Hybrid Attention Architecture 技术解析
人工智能·ai·开源·aigc
格林威10 分钟前
面阵相机 vs 线阵相机:堡盟与大恒相机选型差异全解析 附C++ 实战演示
开发语言·c++·人工智能·数码相机·计算机视觉·视觉检测·工业相机
黎阳之光11 分钟前
视频孪生赋能智慧能源园区:黎阳之光打造全域数智化新标杆
大数据·人工智能·算法·安全·数字孪生
Jun62615 分钟前
yolo11-目标检测&官方模型测试
人工智能·python·目标检测
龙山云仓16 分钟前
智造驾驶舱 · 异常闭环决策中心
人工智能·机器学习
乱世刀疤16 分钟前
AI Weekly 4.20-4.26
人工智能