色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創作
電子發燒友網>電子資料下載>電子資料>PyTorch教程3.4之從頭開始執行線性回歸

PyTorch教程3.4之從頭開始執行線性回歸

2023-06-05 | pdf | 0.26 MB | 次下載 | 免費

資料介紹

我們現在準備好通過線性回歸的全功能實現來工作。在本節中,我們將從頭開始實現整個方法,包括(i)模型;(ii) 損失函數;(iii) 小批量隨機梯度下降優化器;(iv) 將所有這些部分拼接在一起的訓練功能。最后,我們將運行3.3 節中的合成數據生成器 并將我們的模型應用于生成的數據集。雖然現代深度學習框架幾乎可以自動執行所有這些工作,但從頭開始實施是確保您真正了解自己在做什么的唯一方法。此外,當需要自定義模型、定義我們自己的層或損失函數時,了解引擎蓋下的工作原理將很方便。在本節中,我們將僅依賴張量和自動微分。稍后,我們將介紹一個更簡潔的實現,利用深度學習框架的花哨功能,同時保留以下結構。

%matplotlib inline
import torch
from d2l import torch as d2l
%matplotlib inline
from mxnet import autograd, np, npx
from d2l import mxnet as d2l

npx.set_np()
%matplotlib inline
import jax
import optax
from flax import linen as nn
from jax import numpy as jnp
from d2l import jax as d2l
No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)
%matplotlib inline
import tensorflow as tf
from d2l import tensorflow as d2l

3.4.1. 定義模型

在我們開始通過小批量 SGD 優化模型參數之前,我們首先需要有一些參數。在下文中,我們通過從均值為 0 且標準差為 0.01 的正態分布中抽取隨機數來初始化權重。幻數 0.01 在實踐中通常效果很好,但您可以通過參數指定不同的值sigma此外,我們將偏差設置為 0。注意,對于面向對象的設計,我們將代碼添加到__init__子類的方法中(在3.2.2 節d2l.Module中介紹 )。

class LinearRegressionScratch(d2l.Module): #@save
  """The linear regression model implemented from scratch."""
  def __init__(self, num_inputs, lr, sigma=0.01):
    super().__init__()
    self.save_hyperparameters()
    self.w = torch.normal(0, sigma, (num_inputs, 1), requires_grad=True)
    self.b = torch.zeros(1, requires_grad=True)
class LinearRegressionScratch(d2l.Module): #@save
  """The linear regression model implemented from scratch."""
  def __init__(self, num_inputs, lr, sigma=0.01):
    super().__init__()
    self.save_hyperparameters()
    self.w = np.random.normal(0, sigma, (num_inputs, 1))
    self.b = np.zeros(1)
    self.w.attach_grad()
    self.b.attach_grad()
class LinearRegressionScratch(d2l.Module): #@save
  """The linear regression model implemented from scratch."""
  num_inputs: int
  lr: float
  sigma: float = 0.01

  def setup(self):
    self.w = self.param('w', nn.initializers.normal(self.sigma),
              (self.num_inputs, 1))
    self.b = self.param('b', nn.initializers.zeros, (1))
class LinearRegressionScratch(d2l.Module): #@save
  """The linear regression model implemented from scratch."""
  def __init__(self, num_inputs, lr, sigma=0.01):
    super().__init__()
    self.save_hyperparameters()
    w = tf.random.normal((num_inputs, 1), mean=0, stddev=0.01)
    b = tf.zeros(1)
    self.w = tf.Variable(w, trainable=True)
    self.b = tf.Variable(b, trainable=True)

接下來,我們必須定義我們的模型,將其輸入和參數與其輸出相關聯。在(3.1.4)中使用相同的符號,對于我們的線性模型,我們簡單地采用輸入特征的矩陣向量乘積X和模型權重w,并加上偏移量b每個例子。Xw是一個向量并且b是一個標量。由于廣播機制(參見 第 2.1.4 節),當我們添加一個向量和一個標量時,標量將添加到向量的每個分量。生成的 方法 通過(在第 3.2.1 節中介紹 )forward在類中注冊LinearRegressionScratchadd_to_class

@d2l.add_to_class(LinearRegressionScratch) #@save
def forward(self, X):
  return torch.matmul(X, self.w) + self.b
@d2l.add_to_class(LinearRegressionScratch) #@save
def forward(self, X):
  return np.dot(X, self.w) + self.b
@d2l.add_to_class(LinearRegressionScratch) #@save
def forward(self, X):
  return jnp.matmul(X, self.w) + self.b
@d2l.add_to_class(LinearRegressionScratch) #@save
def forward(self, X):
  return tf.matmul(X, self.w) + self.b

3.4.2. 定義損失函數

由于更新我們的模型需要采用損失函數的梯度,因此我們應該首先定義損失函數。這里我們使用(3.1.5)中的平方損失函數在實現中,我們需要將真實值轉換y為預測值的形狀 y_hat以下方法返回的結果也將具有與y_hat. 我們還返回小批量中所有示例的平均損失值。

@d2l.add_to_class(LinearRegressionScratch) #@save
def loss(self, y_hat, y):
  l = (y_hat - y) ** 2 / 2
  return l.mean()
@d2l.add_to_class(LinearRegressionScratch) #@save
def loss(self, y_hat, y):
  l = (y_hat - y) ** 2 / 2
  return l.mean()
@d2l.add_to_class(LinearRegressionScratch) #@save
def loss(self, params, X, y, state):
  y_hat = state.apply_fn({'params': params}, *X) # X unpacked from a tuple
  l = (y_hat - y.reshape(y_hat.shape)) ** 2 / 2
  return l.mean()
@d2l.add_to_class(LinearRegressionScratch) #@save
def loss(self, y_hat, y):
  l = (y_hat - y) ** 2 / 2
  return tf.reduce_mean(l)

3.4.3. 定義優化算法

正如第 3.1 節中所討論的,線性回歸有一個封閉形式的解決方案。然而,我們這里的目標是說明如何訓練更通用的神經網絡,這需要我們教您如何使用小批量 SGD。因此,我們將借此機會介紹您的第一個 SGD 工作示例。在每一步,使用從我們的數據集中隨機抽取的小批量,我們估計損失相對于參數的梯度。接下來,我們朝著可能減少損失的方向更新參數。

以下代碼應用更新,給定一組參數,一個學習率lr由于我們的損失是按小批量的平均值計算的,因此我們不需要根據批量大小調整學習率。在后面的章節中,我們將研究如何為分布式大規模學習中出現的非常大的小批量調整學習率。現在,我們可以忽略這種依賴性。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 97久久超碰中文字幕| 考试考90就可以晚上和老师C| 高清午夜福利电影在线| 国产69精品久久久久人妻刘玥| 国产成人a v在线影院| 99免费在线观看| 厕所RXXX| 国产主播福利一区二区| 卫生间被教官做好爽HH视频| 免费无码又爽又黄又刺激网站| 九九热这里只有精品视频免费| 国产学生无码中文视频一区| 精品国产露脸久久AV麻豆| 领导边摸边吃奶边做爽在线观看| 欧美美女论坛| 秋霞最新高清无码鲁丝片| 男人团apk| 视频一区国产| 天天日免费观看视频一1| 亚洲精品免费在线视频| 97人人碰免费视频公开| 91久久精品一区二区三区| 成人中文字幕在线| 黃色带三级a级| 久久黄色大片| 久久热精品18国产| 麻豆AV蜜桃AV久久| 乳交高H糙汉宠文| 一本大道无码AV天堂欧美 | 亚洲国产精品免费线观看视频| 一本到道免费线观看| NANANA在线观看高清影院| videossexotv极度另类| 国产私拍福利精品视频| 母乳女神春日もな| 我就去色色| 97人人碰免费视频公开| 国产色欲一区二区精品久久呦| 护士WC女子撒尿| 麻豆精品人妻一区二区三区蜜桃 | 伦理片天堂eeuss影院|