PyTorch 4:损失函数、优化器

2026-04-30 深度学习 810 字 · 约 3 分钟

访问作者github: https://github.com/NefelibataBIGR/PyTorch_Notes ,获取笔记代码

六、损失函数、优化器

具体代码见Python>pytorch文件中的 ==nn_loss_optim.ipynb== 文件

1. 损失函数、反向传播

  • 损失函数:
  • 常见损失函数:
    • L1损失函数:nn.L1Loss()
    • 均方差损失函数:nn.MSELoss()
    • 交叉熵损失函数:nn.CrossEntropyLoss()
      • 注意输入数据与标签的形状与类型!
  • 反向传播:
    • xxx.backward()

2. 优化器

optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.9) # 实例化
# optimizer = optim.Adam([var1, var2], lr=0.0001)

for input, target in dataset:
    optimizer.zero_grad() # 对上一步梯度清零,后面重新计算梯度
    output = model(input) # 训练
    loss = loss_fn(output, target) # 得到损失函数
    loss.backward() # 反向传播
    optimizer.step() # 优化参数

一般都要传入参数:model.parameters()(即模型参数,权重、偏置等)、lr(即学习率),其他参数不同优化器不一样,参考官方文档

#深度学习 #python #pytorch

评论

使用 GitHub 账号留言 · 评论存在 仓库 issues