Pytorch实现线性回归

打印 上一主题 下一主题

主题 844|帖子 844|积分 2532

  1. import torch
  2. x_data = torch.Tensor([[1.0],[2.0],[3.0]])
  3. y_data = torch.Tensor([[2.0],[4.0],[6.0]])
  4. class MyLinear(torch.nn.Module):
  5.     def __init__(self):
  6.         super().__init__()
  7.         self.linear = torch.nn.Linear(1,1)
  8.         
  9.     def forward(self, x):
  10.         y_pred = self.linear(x)
  11.         return y_pred
  12.    
  13. model = MyLinear()
  14. criterion = torch.nn.MSELoss()
  15. optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
  16. for epoch in range(1000):
  17.     y_pred = model(x_data)
  18.     loss = criterion(y_pred,y_data)
  19.     print('epoch==' + str(epoch), 'loss==' + str(loss.item()))
  20.     optimizer.zero_grad()
  21.     loss.backward()
  22.     optimizer.step()
  23.    
  24. print('w=',model.linear.weight.item())
  25. print('b=',model.linear.bias.item())
  26. x_test = torch.tensor([[4.0]])
  27. y_test = model(x_test)
  28. print("y_test=",y_test.data)
复制代码
输出结果


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

圆咕噜咕噜

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表