当前位置:首页 >> 编程语言 >> 【Pytorch神经网络实战案例】04 使用Pytorch实现线性回归,moto a780

【Pytorch神经网络实战案例】04 使用Pytorch实现线性回归,moto a780

0evadmin 编程语言 1
文件名:【Pytorch神经网络实战案例】04 使用Pytorch实现线性回归,moto a780 【Pytorch神经网络实战案例】04 使用Pytorch实现线性回归 import torchx_data =torch.tensor([[1.0],[2.0],[3.0]])y_data=torch.tensor([[2.0],[4.0],[6.0]])#重点在于构造计算图 pytorch会自动计算梯度#Z=wx+b 就是一个线性单元class LinearModel(torch.nn.Module):#Module的对象会自动实现backword()的过程#构造函数def __init__(self) :super(LinearModel, self).__init__()#Linear()构建y=wx+b,且继承于Module自动完成backword()的过程self.linear=torch.nn.Linear(1,1)#前馈计算的函数 必须有def forward(self,x):#调用linear的__call__(),在此函数中会调用forward()y_pred=self.linear(x)return y_pred#CallModel 可以直接调用model=LinearModel()#调用损失函数criterion=torch.nn.MSELoss(size_average=False)#优化器,lr学习率optimizer=torch.optim.SGD(model.parameters(),lr=0.01)for epoch in range(1000):y_pred=model(x_data)loss=criterion(y_pred,y_data)print(epoch,loss.item())#所有权重的梯度归0optimizer.zero_grad()#进行反向传播loss.backward()#根据梯度、学习率进行自动更新optimizer.step()print("W=",model.linear.weight.item())print("b=",model.linear.bias.item())#Test Modelx_test=torch.Tensor([4.0])y_test=model(x_test)print("y_pred=",y_test.data)

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接