pytorch中的loss.backward()和optimizer.step()中的使用的梯度方向问题

python 复制代码
# 举例:梯度下降更新模型参数
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)

# 在每个训练步骤中
optimizer.zero_grad()  # 清零梯度
output = model(input)
loss = loss_function(output, target)
loss.backward()       # 计算梯度
optimizer.step()       # 更新模型参数(沿着梯度的负方向)

在这个例子中,loss.backward() 计算的梯度方向是损失函数上升的方向,而 optimizer.step() 则使用了梯度的负方向来更新模型参数。

相关推荐
桃西西呀15 分钟前
红酒标签上的 87 分是怎么算出来的?我拿 1599 瓶真酒把线性回归和逻辑回归拆开讲
人工智能·机器学习·llm
@MMiL1 小时前
PMSM基于SMO反电动势的PLL位置与速度估计
人工智能·机器学习
小王2041 小时前
Day 35:DETR与检测Transformer — 目标检测的范式革命
人工智能·深度学习·transformer
明志数科2 小时前
机器人训练数据质量评估体系:核心维度与全流程质控方法
人工智能·深度学习·机器学习
栀椩2 小时前
CODrone 无人机航拍车辆检测
pytorch·python·yolo
月华路2 小时前
《模型不玄学》第25章 双头模型:共享底座 + 两个分支
人工智能·深度学习·机器学习
盼小辉丶2 小时前
PyTorch计算机视觉(9)——变分自编码器(VAE)详解与实现
人工智能·pytorch·深度学习·计算机视觉
高洁013 小时前
AI智能体落地价值:从工具赋能到产业重构,解锁企业降本增效新逻辑
人工智能·深度学习·机器学习·transformer·知识图谱
clorinda3 小时前
PyTorch 手写数字识别学习笔记
pytorch·笔记·学习