Pytorch深度学习实践(b站刘二大人)_05讲(用Pytorch实现线性回归)

本文介绍了使用PyTorch实现线性回归的过程,并详细比较了SGD、Adagrad、Adam等不同优化器的效果。通过调整学习率,改善了Adagrad的训练结果。文中提供了各个优化器的Loss下降图,展示了优化器对模型训练的影响。
摘要由CSDN通过智能技术生成

Pytorch Fashion(具有很强的扩展性):
1.准备数据集
2.设计模型
3.构造损失函数和优化器
4.训练周期(前馈、反馈、更新)

  
  在本次代码的编写中,我尝试了很多种优化器的使用,包括 SGD,Adagrad ,Adam ,ASGD, RMSprop ,Rprop,Adamax,以及LBFGS,每个优化器所对应的Loss下降图也会在文章的最后给出。
  其中LBFGS的使用和以上其他的优化器有一些不同,LBFGS需要重复多次计算函数,因此你需要传入一个闭包去允许它们重新计算你的模型,这个闭包应当清空梯度, 计算损失,然后返回,即optimizer.step(closure);其他的优化器支持简化的版本即optimizer.step()
下面介绍一下两种方式使用的模板:
optimizer.step(closure)

for input, target in dataset:

  def closure():

    optimizer.zero_grad()

    output = model(input)

    loss = loss_fn(output, target)

    loss.backward()

  return loss optimizer.step(closure)

optimizer.step()

for input, target in dataset:

  optimizer.zero_grad()

  output = model(input)

  loss = loss_fn(output, target)

  loss.backward()

  optimizer.step()

代码如下:

import torch
import matplotlib.pyplot as plt
# 1.准备数据集           2.设计模型
# 3.构造损失函数和优化器   4.训练周期(前馈、反馈、更新)

x_data = torch
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值