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

相关推荐
love在水一方3 分钟前
【Voxel-SLAM】Data Structures / 数据结构文档(二)
数据结构·人工智能·机器学习
ConardLi5 分钟前
开源我的 GPT-Image2 生图 Skill,附大量玩法指南
前端·人工智能·后端
QYR_116 分钟前
2026卷绕式扣式电池产业洞察:智能制造如何重塑微型储能格局?
人工智能·市场调研
白熊1887 分钟前
【大模型Agent】LangGraph 深度科普:为智能体而生的“有状态”编排框架
人工智能·langchain·agent·langgraph
数智工坊9 分钟前
【SIoU Loss论文阅读】:引入角度感知的框回归损失,让检测收敛更快更准
论文阅读·人工智能·深度学习·机器学习·数据挖掘·回归·cnn
bloglin9999914 分钟前
向量大模型升级可能改变向量空间(需要回归)
人工智能·数据挖掘·回归
AI技术增长18 分钟前
Pytorch图像去噪实战(三):ResUNet图像去噪模型实战,解决UNet深层训练不稳定问题
人工智能·pytorch·深度学习
TDengine (老段)24 分钟前
工业软件的未来:构建在工业数据底座之上的 AI Agent
大数据·数据库·人工智能·时序数据库·tdengine
aLTttY24 分钟前
Spring Boot集成AI大模型实战:从0到1打造智能应用
人工智能·spring boot·后端
FlyIer55626 分钟前
2026 个人网站建站软件实测
人工智能