ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PyTorch深度学习实践(五)---pytorch实现线性回归

2021-04-17 14:02:58  阅读:191  来源: 互联网

标签:loss pred self torch PyTorch --- pytorch print model


pytorch写神经网络

(1)准备数据集

(2)涉及模型(yheight)

(3)构造损失函数和优化器

(4)训练周期(前馈、反馈、更新)

 1 import torch
 2 
 3 #1.准备数据
 4 x_data=torch.tensor([[1.0],[2.0],[3.0]])
 5 y_data=torch.tensor([[2.0],[4.0],[6.0]])
 6 #2.构造模型
 7 class LinearModel(torch.nn.Module):
 8     def __init__(self):#构造函数
 9         super(LinearModel,self).__init__()
10         self.linear=torch.nn.Linear(1,1)#构造对象;(1,1)指输入x和输出y的特征维度;第三个参数自动为true,是否要有b
11 
12     def forward(self,x):
13         y_pred=self.linear(x)#计算y=ax+b
14         return y_pred
15 
16 model=LinearModel()#实例化
17 
18 criterion=torch.nn.MSELoss(size_average=False)#计算loss
19 optimizer=torch.optim.SGD(model.parameters(),lr=0.01)#lr:学习率
20 
21 for epoch in range(100):
22     y_pred=model(x_data)#前向传播
23     loss=criterion(y_pred,y_data)#计算loss
24     print(epoch,loss.item())
25 
26     optimizer.zero_grad()
27     loss.backward()#反向传播,计算梯度
28     optimizer.step()#更新w,b的值
29 
30 print('w=',model.linear.weight.item())
31 print("b=",model.linear.bias.item())
32 
33 x_test=torch.tensor([4.0])
34 y_test=model(x_test)
35 print("y_pred=",y_test)

 

标签:loss,pred,self,torch,PyTorch,---,pytorch,print,model
来源: https://www.cnblogs.com/miosk/p/14663144.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有