Pytorch里面参数更新前为什么要梯度手动置为0?

因为在一般情况下,每次minibatch之后,都会计算得到一个loss,进而计算该loss关于全局参数的梯度。如果在下一次minibatch 进入模型,计算得到相应的loss和梯度之前,不对优化器的梯度进行置0操作,那么几次batch的梯度会有一个累积效应,影响模型参数的优化。

在每一次batch'训练完之后,计算得到loss损失函数和相应梯度,都会对模型参数进行调整,那么该batch数据在这一轮训练里面的作用已经完成了。我们不希望这些优化过模型参数的batch的loss梯度累积起来,继续对模型参数优化产生影响。

相关推荐
QZ16656095159几秒前
政务泛监测体系能力排行:AI 重塑监测边界,治理的颗粒度革命
网络·人工智能·安全·网络安全·政务
李帅51538 分钟前
用 CPU 做发票识别:从 OCR 文本行到结构化明细表的 4 个硬骨头
python
模域ModelSphere39 分钟前
长回复吐到一半断了,流式推理还能接着写吗?
人工智能
用户19172912708342 分钟前
Agent 运行时还是预览版,企业怎么上生产?准入 4 查与隔离回滚实战
人工智能
海螺_AIHCC44 分钟前
开源模型挤着发了一圈,先别比榜单,算算显存
人工智能
米小虾1 小时前
给正在干活的 Agent 插一句话:steering 的原理与实现
人工智能·agent
柯南46681 小时前
【AI工程师精讲】32:Text2SQL:让 AI 查数据库,难点八成不在生成 SQL 上
人工智能·ai编程
丘山录1 小时前
本地部署 PLaMo,llama.cpp 完整教程,不用显卡
人工智能
播播资源1 小时前
同账户实测 11 个多模态模型:图像 0.03 元起、竖屏视频 8 元一条,最贵和最便宜差 267 倍
大数据·人工智能·深度学习
Linye1 小时前
AI 越跑越偏?从 500 行臃肿规则到 80 行核心约束:多 Agent 项目中的「规则瘦身与防腐」四步排查法
人工智能·架构