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

相关推荐
龍德明宇1 分钟前
裁断为什么没有变便宜-龍德明宇
人工智能·大语言模型llm·负主体性·ai存在论
Ai-_Man4 分钟前
您您这可以把Google AI Studio的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。AI导出鸭
javascript·人工智能·ai·小程序·电脑
丁兰子7 分钟前
OpenVLA 模型详解
人工智能
Martina_03218 分钟前
AI生成3D场景第一次进入总卡一下?用6步排查Shader编译、纹理上传与预加载
图像处理·人工智能·游戏·3d·ai·自然语言处理·游戏策划
DP DPharness8 分钟前
dsh-univer-office 报错了?按这个顺序排查
人工智能·dpharness
正经教主10 分钟前
【FDE系列】阶段3:Day 57:Promptfoo 实战 — A/B 对比让数据说话
人工智能·fde
YOLO_DATA15 分钟前
YOLO27防震锤缺陷检测数据集 防震锤数据集 1000张 防震锤 带标注 voc yolo 2 类 目标检测
人工智能·深度学习·yolo·目标检测·计算机视觉·数据集·无人机
张彦峰ZYF20 分钟前
Agent规模化治理与持续运营:从“几十个智能体”迈向企业级控制平面
人工智能·agent·agent registry
沉默王二21 分钟前
31岁罗福莉,晋升小米最高职级22级
人工智能·openai·agent
delishcomcn22 分钟前
当热烫金膜分切机遇上AI:分切进入智控时代
人工智能·热烫金膜·分切机