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

相关推荐
光影少年14 小时前
高级前端需要学习那些东西?
前端·人工智能·学习·aigc·ai编程
怕浪猫14 小时前
从 Openclaw 、codex、Claude code 爆火看 AI Agent 冲击:只会调 API 的程序员,出路在哪里?🤔🤔🤔
人工智能
神州数码云基地14 小时前
告别传统OCR瓶颈,DeepSeek-OCR如何重塑文档智能?
人工智能·llm·ocr·大语言模型·deepseek
了不起的云计算V14 小时前
以AI及自主创新重构教育数字化底座,华为擎云给出更优答案
人工智能·华为·重构
code_pgf14 小时前
LLM大模型评测(ARC-AGI-2)
人工智能·transformer·agi
大龄程序员狗哥14 小时前
第23篇:GAN实战:生成二次元头像——创造属于你的虚拟形象(项目实战)
人工智能·神经网络·生成对抗网络
大江东去浪淘尽千古风流人物14 小时前
【UV-SLAM 】彻底吃透UV-SLAM:创新原理、工程实现与直线几何核心代码详解
数据库·人工智能·python·机器学习·oracle·uv
xiaoshujiaa14 小时前
SpringAI实战:基于MCP协议的AI Agent工具链集成指南
人工智能
小糖学代码14 小时前
LLM系列:2.pytorch入门:6.单层神经网络
人工智能·pytorch·python·深度学习·神经网络
思绪无限14 小时前
YOLOv5至YOLOv12升级:无人机目标检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·python·深度学习·目标检测·计算机视觉·无人机·yolov12