成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于nn.Module類實現(xiàn)線性回歸模型

人工智能 深度學(xué)習(xí)
大多數(shù)情況下創(chuàng)建一個繼承自 Pytorch 中的 nn.Module 的類,這樣可以使用 Pytorch 提供的許多高級 API,而無需自己實現(xiàn)。

[[411355]]

上次介紹了順序模型,但是在大多數(shù)情況下,我們基本都是以類的形式實現(xiàn)神經(jīng)網(wǎng)絡(luò)。

大多數(shù)情況下創(chuàng)建一個繼承自 Pytorch 中的 nn.Module 的類,這樣可以使用 Pytorch 提供的許多高級 API,而無需自己實現(xiàn)。

下面展示了一個可以從nn.Module創(chuàng)建的最簡單的神經(jīng)網(wǎng)絡(luò)類的示例。基于 nn.Module的類的最低要求是覆蓋__init__()方法和forward()方法。

在這個類中,定義了一個簡單的線性網(wǎng)絡(luò),具有兩個輸入和一個輸出,并使用 Sigmoid()函數(shù)作為網(wǎng)絡(luò)的激活函數(shù)。

  1. import torch 
  2. from torch import nn 
  3.  
  4. class LinearRegression(nn.Module): 
  5.     def __init__(self): 
  6.         #繼承父類構(gòu)造函數(shù) 
  7.         super(LinearRegression, self).__init__()  
  8.         #輸入和輸出的維度都是1 
  9.         self.linear = nn.Linear(1, 1)  
  10.     def forward(self, x): 
  11.         out = self.linear(x) 
  12.         return out 

現(xiàn)在讓我們測試一下模型。

  1. # 創(chuàng)建LinearRegression()的實例 
  2. model = LinearRegression() 
  3. print(model)  
  4. # 輸出如下 
  5. LinearRegression( 
  6.   (linear): Linear(in_features=1, out_features=1, bias=True

現(xiàn)在讓定義一個損失函數(shù)和優(yōu)化函數(shù)。

  1. model = LinearRegression()#實例化對象 
  2. num_epochs = 1000#迭代次數(shù) 
  3. learning_rate = 1e-2#學(xué)習(xí)率0.01 
  4. Loss = torch.nn.MSELoss()#損失函數(shù) 
  5. optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)#優(yōu)化函數(shù) 

我們創(chuàng)建一個由方程產(chǎn)生的數(shù)據(jù)集,并通過函數(shù)制造噪音

  1. import torch  
  2. from matplotlib import pyplot as plt 
  3. from torch.autograd import Variable 
  4. from torch import nn 
  5. # 創(chuàng)建數(shù)據(jù)集  unsqueeze 相當(dāng)于 
  6. x = Variable(torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1)) 
  7. y = Variable(x * 2 + 0.2 + torch.rand(x.size())) 
  8. plt.scatter(x.data.numpy(),y.data.numpy()) 
  9. plt.show() 

關(guān)于torch.unsqueeze函數(shù)解讀。

  1. >>> x = torch.tensor([1, 2, 3, 4]) 
  2. >>> torch.unsqueeze(x, 0) 
  3. tensor([[ 1,  2,  3,  4]]) 
  4. >>> torch.unsqueeze(x, 1) 
  5. tensor([[ 1], 
  6.         [ 2], 
  7.         [ 3], 
  8.         [ 4]]) 

遍歷每次epoch,計算出loss,反向傳播計算梯度,不斷的更新梯度,使用梯度下降進(jìn)行優(yōu)化。

  1. for epoch in range(num_epochs): 
  2.     # 預(yù)測 
  3.     y_pred= model(x) 
  4.     # 計算loss 
  5.     loss = Loss(y_pred, y) 
  6.     #清空上一步參數(shù)值 
  7.     optimizer.zero_grad() 
  8.     #反向傳播 
  9.     loss.backward() 
  10.     #更新參數(shù) 
  11.     optimizer.step() 
  12.     if epoch % 200 == 0: 
  13.         print("[{}/{}] loss:{:.4f}".format(epoch+1, num_epochs, loss)) 
  14.  
  15. plt.scatter(x.data.numpy(), y.data.numpy()) 
  16. plt.plot(x.data.numpy(), y_pred.data.numpy(), 'r-',lw=5) 
  17. plt.text(0.5, 0,'Loss=%.4f' % loss.data.item(), fontdict={'size': 20, 'color':  'red'}) 
  18. plt.show() 
  19. ####結(jié)果如下#### 
  20. [1/1000] loss:4.2052 
  21. [201/1000] loss:0.2690 
  22. [401/1000] loss:0.0925 
  23. [601/1000] loss:0.0810 
  24. [801/1000] loss:0.0802 

  1. [w, b] = model.parameters() 
  2. print(w,b) 
  3. # Parameter containing: 
  4. tensor([[2.0036]], requires_grad=True) Parameter containing: 
  5. tensor([0.7006], requires_grad=True

這里的b=0.7,等于0.2 + torch.rand(x.size()),經(jīng)過大量的訓(xùn)練torch.rand()一般約等于0.5。

 

責(zé)任編輯:姜華 來源: Python之王
相關(guān)推薦

2017-05-17 08:24:08

TensorFlow機(jī)器學(xué)習(xí)線性回歸

2025-04-27 04:02:00

機(jī)器學(xué)習(xí)模型網(wǎng)絡(luò)

2023-11-10 15:47:06

線性回歸內(nèi)核技巧

2018-04-26 08:40:33

線性回歸算法機(jī)器學(xué)習(xí)

2024-02-01 08:09:31

GPT容器模塊

2020-07-01 08:48:01

Python機(jī)器學(xué)習(xí)工具

2024-07-10 11:09:35

2014-08-22 10:06:46

機(jī)器學(xué)習(xí)

2021-07-07 06:04:33

人工智能Pytorch神經(jīng)網(wǎng)絡(luò)

2021-04-13 08:12:33

拉鏈?zhǔn)?/a>Map探測式

2021-11-08 22:59:04

機(jī)器學(xué)習(xí)

2018-01-10 17:06:36

Python線性回歸數(shù)據(jù)

2021-09-08 07:44:26

人工智能keras神經(jīng)網(wǎng)絡(luò)

2024-01-02 15:55:27

深度學(xué)習(xí)模型pytorch

2020-12-19 10:54:25

機(jī)器學(xué)習(xí)線性回歸算法

2020-12-20 20:31:56

Python機(jī)器學(xué)習(xí)多元線性回歸

2020-08-25 18:10:22

Python代碼線性回歸

2017-10-24 14:32:48

2023-12-06 09:33:54

Reactor網(wǎng)絡(luò)

2025-07-04 09:07:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 性一交一乱一透一a级 | 91精品久久久久久久久 | a级大毛片 | 亚洲高清视频一区二区 | 一级a毛片 | 亚洲综合婷婷 | 欧美专区日韩专区 | 欧美亚洲国产一区二区三区 | 男女午夜免费视频 | 欧美又大粗又爽又黄大片视频 | 在线观看免费福利 | 极品在线| 81精品国产乱码久久久久久 | 男人的天堂在线视频 | 亚洲人成人一区二区在线观看 | 天天操天天拍 | 亚洲福利在线视频 | 成人精品一区二区三区 | 麻豆国产精品777777在线 | 久久久久国产精品一区三寸 | 免费中文字幕日韩欧美 | 免费一区二区三区在线视频 | japanhd成人 | 365夜爽爽欧美性午夜免费视频 | 国产一级一级国产 | 国产精品久久久久久久久久久新郎 | 人人干人人舔 | 91视频.| 一级毛片在线播放 | 国产一区二区三区四区 | 狠狠色综合网站久久久久久久 | 一区二区三区在线观看免费视频 | 在线激情视频 | 精品一区二区三区免费视频 | 成人在线视频免费看 | 国产精品美女久久久 | 精品国产一区二区国模嫣然 | 午夜手机在线视频 | 国产精品久久久久久久久久久久久久 | 欧美激情综合 | 特黄特色大片免费视频观看 |