91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pytorch 模擬關系擬合——回歸實例

發布時間:2020-08-20 20:30:50 來源:腳本之家 閱讀:179 作者:HF飛哥 欄目:開發技術

本次用 pytroch 來實現一個簡單的回歸分析,也借此機會來熟悉 pytorch 的一些基本操作。

1. 建立數據集

import torch
from torch.autograd import Variable
import matplotlib.pyplot as plt

# torch.linspace(-1,1,100)表示返回一個一維張量,包含在區間 -1到1 上均勻間隔的100個點;
# torch.unsqueeze(input,dim=1)表示轉換維度
x = torch.unsqueeze(torch.linspace(-1, 1, 100), dim=1)
# 生成的y值為x的平方加上隨機數 
y = x.pow(2) + 0.2*torch.rand(x.size())         

# 用 Variable 來修飾這些數據 tensor
x, y = torch.autograd.Variable(x), Variable(y)

# 畫圖
plt.scatter(x.data.numpy(), y.data.numpy())
plt.show()

2. 構建神經網絡

import torch
import torch.nn.functional as F   # 激勵函數都在這

class Net(torch.nn.Module): # 繼承 torch 的 Module
  def __init__(self, n_feature, n_hidden, n_output):
    super(Net, self).__init__()   # 繼承 __init__ 功能
    # 定義每層用什么樣的形式
    self.hidden = torch.nn.Linear(n_feature, n_hidden)  # 隱藏層線性輸出
    self.predict = torch.nn.Linear(n_hidden, n_output)  # 輸出層線性輸出

  def forward(self, x):  # 這同時也是 Module 中的 forward 功能
    # 正向傳播輸入值, 神經網絡分析出輸出值
    x = F.relu(self.hidden(x))   # 激勵函數(隱藏層的線性值)
    x = self.predict(x)       # 輸出值
    return x

net = Net(n_feature=1, n_hidden=10, n_output=1)

print(net) # net 的結構
"""
Net (
 (hidden): Linear (1 -> 10)
 (predict): Linear (10 -> 1)
)
"""

3. 實時繪圖查看回歸效果

import matplotlib.pyplot as plt

plt.ion() #打開交互繪圖模式(便于實時顯示圖像變化)
plt.show() 

optimizer = torch.optim.SGD(net.parameters(), lr=0.1) # 定義優化器和學習率
loss_func = torch.nn.MSELoss() #定義損失函數

for t in range(200):
  prediction = net(x)
  loss = loss_func(prediction, y)

  optimizer.zero_grad()
  loss.backward()
  optimizer.step()

  if t%5 == 0:
    plt.cla() 
    plt.scatter(x.data.numpy(), y.data.numpy()) # 畫散點圖
    plt.plot(x.data.numpy(), prediction.data.numpy(), 'r-', lw=5) # 畫擬合曲線
    plt.text(0.5, 0, 'Loss=%.4f' % loss.data[0], fontdict={'size':20,'color':'red'}) # 顯示損失數值
    plt.pause(0.1)

# 如果在腳本中使用ion()命令開啟了交互模式,沒有使用ioff()關閉的話,則圖像會一閃而過,并不會常留。要想防止這種情況,需要在plt.show()之前加上ioff()命令。
plt.ioff() 
plt.show()

運行終態效果圖如下:

pytorch 模擬關系擬合——回歸實例

以上這篇pytorch 模擬關系擬合——回歸實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽宁省| 普陀区| 琼结县| 通化市| 岐山县| 江北区| 广安市| 南宁市| 金溪县| 长治县| 博乐市| 原阳县| 五常市| 连州市| 读书| 长沙市| 永靖县| 双桥区| 灵丘县| 郴州市| 临泽县| 三河市| 桃源县| 麟游县| 白水县| 札达县| 犍为县| 五指山市| 共和县| 亚东县| 民权县| 南汇区| 渭南市| 怀宁县| 玉田县| 台中县| 陆川县| 鄂尔多斯市| 德昌县| 大同县| 长丰县|