pytorch实现线性回归的方法

  介绍

这篇文章主要介绍”pytorch实现线性回归的方法”,在日常操作中,相信很多人在pytorch实现线性回归的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“pytorch实现线性回归的方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

线性回归都是包括以下几个步骤:定义模型,选择损失函数,选择优化函数,,训练数据,测试

import 火炬   import  matplotlib.pyplot  as  plt   #,构建数据集   x_data=https://www.yisu.com/zixun/torch.Tensor ([[1.0], [2.0], [3.0], [4.0], [5.0], [6.0]])   y_data=torch.Tensor ([[2.0], [4.0], [6.0], [8.0], [10.0], [12.0]])   #定义模型   类LinearModel (torch.nn.Module):   def __init__(自我):   超级(LinearModel自我). __init__ ()   自我。线性=torch.nn.Linear(1,1) #表示输入输出都只有一层,相当于前向传播中的函数模型,因为我们一般都不知道函数是什么形式的      def向前(自我,x):   y_pred=self.linear (x)   返回y_pred   模型=LinearModel ()   #使用均方误差作为损失函数   标准=torch.nn。MSELoss (size_average=False)   #使用梯度下降作为优化SGD   #从下面几种优化器的生成结果图像可以看的出,SGD和ASGD效果最好,因为他们的图像收敛速度最快   优化器=torch.optim.SGD (model.parameters (), lr=0.01)   # ASGD   #优化器=torch.optim.ASGD (model.parameters (), lr=0.01)   #优化器=torch.optim.Adagrad (model.parameters (), lr=0.01)   #优化器=torch.optim.RMSprop (model.parameters (), lr=0.01)   #优化器=torch.optim.Adamax (model.parameters (), lr=0.01)   #训练   epoch_list=[]   loss_list=[]   时代的范围(100):   y_pred=模型(x_data)   损失=标准(y_pred y_data)   epoch_list.append(时代)   loss_list.append (loss.item ())   打印(时代,loss.item ())      optimizer.zero_grad() #梯度归零   loss.backward() #反向传播   optimizer.step() #更新参数      打印(“w=", model.linear.weight.item ())   打印(" b=" model.linear.bias.item ())      x_test=torch.Tensor ([[7.0]])   y_test=模型(x_test)   打印(“y_pred=", y_test.data)      plt。情节(epoch_list loss_list)   plt.xlabel(“时代”)   plt.ylabel (“loss_val”)   plt.show ()

使用SGD优化器图像:,,,,,,,,,,,,,,,,,,,,,,,,,,,,

 pytorch实现线性回归的方法

使用ASGD优化器图像:

 pytorch实现线性回归的方法

使用Adagrad优化器图像:,,,,,,,,,,,,,,,,,,,,,,,,,

 pytorch实现线性回归的方法

使用Adamax优化器图像:

 pytorch实现线性回归的方法

到此,关于“pytorch实现线性回归的方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

pytorch实现线性回归的方法