【Pytorch神经网络实战案例】04 使用Pytorch实现线性回归
生活随笔
收集整理的這篇文章主要介紹了
【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 Model
x_test=torch.Tensor([4.0])
y_test=model(x_test)
print("y_pred=",y_test.data)
總結
以上是生活随笔為你收集整理的【Pytorch神经网络实战案例】04 使用Pytorch实现线性回归的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python基础知识__字符串
- 下一篇: 图像特征提取与描述_角点特征04:LBP