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

相关推荐
zzzzzz31014 分钟前
深度解析 AgentMemory:让 AI 编码助手拥有「永久记忆」的工程实践
人工智能
大模型推理17 分钟前
Nano-vLLM 源码解读 - 2. Sequence 状态机与请求生命周期
人工智能
cxr82820 分钟前
从多目标定义到闭环实验验证的系统工程
人工智能·智能体·逆向合成·材料设计合成
刀法如飞26 分钟前
Rust数组去重的20种实现方式,AI时代用不同思路解决问题
人工智能·算法·ai编程
code_pgf28 分钟前
OpenClaw的tools与skills详解
人工智能
user803952795254329 分钟前
Codex 新人上手——从需求到上线的完整工作流
人工智能
阿斯加德D39 分钟前
《霍格沃茨之遗》风灵月影修改器下载(已汉化)2026最新版
人工智能·测试工具·游戏·3d·游戏程序
HIT_Weston1 小时前
75、【Agent】【OpenCode】用户对话提示词(question 工具)
人工智能·agent·opencode
weikecms1 小时前
外卖霸王餐API接口对接
大数据·人工智能·企业微信·微客云
zhangfeng11331 小时前
带有embeding 同时训练的Lora 权重合并,合并后的权重的模型,再训练数的Loss 突然增加
人工智能·lora·sft