国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

d2l 線性回歸的簡(jiǎn)潔實(shí)現(xiàn)

這篇具有很好參考價(jià)值的文章主要介紹了d2l 線性回歸的簡(jiǎn)潔實(shí)現(xiàn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

線性回歸的簡(jiǎn)潔實(shí)現(xiàn)

  • 上一節(jié) 張量:數(shù)據(jù)存儲(chǔ)、線性代數(shù);自動(dòng)微分:計(jì)算梯度
  • 開(kāi)源框架,可自動(dòng)化基于梯度的學(xué)習(xí)算法中重復(fù)性的工作
  • 數(shù)據(jù)迭代器、損失函數(shù)、優(yōu)化器、神經(jīng)網(wǎng)絡(luò)層
  • 使用深度學(xué)習(xí)框架簡(jiǎn)潔實(shí)現(xiàn) 線性回歸模型 生成數(shù)據(jù)集

1. 生成數(shù)據(jù)集

import numpy as np
import torch
from torch.utils import data
from d2l import torch as d2l

true_w = torch.tensor([2, -3.4])
true_b = 4.2
features, labels = d2l.synthetic_data(true_w, true_b, 1000)

2. 調(diào)用框架現(xiàn)有api來(lái)讀取數(shù)據(jù)

def load_array(data_arrays,batch_size,is_train=True):
    dataset = data.TensorDataset(*data_arrays)
    return data.DataLoader(dataset,batch_size,shuffle=is_train)#shuffle是否要隨機(jī)打亂順序
batch_size=10
data_iter=load_array((features,labels),batch_size)
next(iter(data_iter))#使用next從迭代器中獲取第一項(xiàng)

3. 使用框架預(yù)定義好的層

  • 標(biāo)準(zhǔn)深度學(xué)習(xí)模型,使用框架預(yù)定義好的層
  • 關(guān)注用哪些層來(lái)構(gòu)造模型,不必關(guān)注層的實(shí)現(xiàn)細(xì)節(jié)
  • Sequential類將多個(gè)層串聯(lián)在一起,(標(biāo)準(zhǔn)的流水線)
    • 當(dāng)給定輸入數(shù)據(jù)時(shí),Sequential實(shí)例將數(shù)據(jù)傳入到第一層,
    • 然后將第一層輸出作為第二層輸入,以此類推
# nn 神經(jīng)網(wǎng)絡(luò)縮寫
from torch import nn
# 線性回歸 全連接層 (指定輸入特征形狀,指定輸出特征形狀)
# Sequential 容器
net=nn.Sequential(nn.Linear(2,1))

4. 初始化模型參數(shù)

  • 線性回歸模型中的權(quán)重和偏置
# net 就是一個(gè)layer網(wǎng)絡(luò)中的第一個(gè)圖層, weight訪問(wèn)到w,normal使用正態(tài)分布替換掉data的值
net[0].weight.data.normal_(0, 0.01)
# bias偏差
net[0].bias.data.fill_(0)

5. 均方誤差

  • MSELoss類 平方范數(shù)(L2范數(shù))
  • 默認(rèn)返回所有樣本損失的平均值
loss=nnLMSELoss()

6. 實(shí)例化SGD實(shí)例(優(yōu)化算法)

  • 小批量隨機(jī)梯度下降,只需要設(shè)置lr值
# 通過(guò)net.parameters()從模型中獲得
trainer = torch.optim.SGD(net.parameters(), lr=0.03)

7. 訓(xùn)練

  • 不必單獨(dú)分配參數(shù);不必定義損失函數(shù);不必手動(dòng)實(shí)現(xiàn)小批量隨機(jī)梯度下降
  • 復(fù)雜模型,有所有基本組件
    ?
  • 每個(gè)迭代周期
    • 完整遍歷一次數(shù)據(jù)集
    • (從中獲取一個(gè)小批量輸入和相應(yīng)的標(biāo)簽)
      • 調(diào)用net(x)生成預(yù)測(cè)并計(jì)算損失1(前向傳播)
      • 通過(guò)反向傳播計(jì)算梯度
      • 通過(guò)調(diào)用優(yōu)化器來(lái)更新模型參數(shù)
    • 計(jì)算每個(gè)迭代周期后的損失,并打印它來(lái)監(jiān)控訓(xùn)練過(guò)程
num_epochs = 3
for epoch in range(num_epochs):
    for X, y in data_iter:
        l = loss(net(X) ,y)
        trainer.zero_grad()
        l.backward()
        trainer.step()
    l = loss(net(features), labels)
    print(f'epoch {epoch + 1}, loss {l:f}')
  • 比較生成數(shù)據(jù)集的真實(shí)參數(shù)和通過(guò)有限數(shù)據(jù)集訓(xùn)練獲得的模型參數(shù)
    • 從net訪問(wèn)所需的層,讀取該層的權(quán)重和偏置
w = net[0].weight.data
print('w的估計(jì)誤差:', true_w - w.reshape(true_w.shape))
b = net[0].bias.data
print('b的估計(jì)誤差:', true_b - b)

文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-630185.html

到了這里,關(guān)于d2l 線性回歸的簡(jiǎn)潔實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 李沐《動(dòng)手學(xué)深度學(xué)習(xí)》d2l——安裝和使用

    李沐《動(dòng)手學(xué)深度學(xué)習(xí)》d2l——安裝和使用

    今天想要跟著沐神學(xué)習(xí)一下循環(huán)神經(jīng)網(wǎng)絡(luò),在跑代碼的時(shí)候,d2l出現(xiàn)了問(wèn)題,這里記錄一下解決的過(guò)程,方便以后查閱。 下載whl :https://www.cnpython.com/pypi/d2l/dl-d2l-0.15.1-py3-none-any.whl 將下載的文件放到這里: 在這個(gè)文件中右鍵,選擇“在終端中打開(kāi)” 在終端中輸入如下命令:

    2024年01月17日
    瀏覽(24)
  • python+pytorch+d2l 超詳細(xì)安裝攻略

    python+pytorch+d2l 超詳細(xì)安裝攻略

    第一步首先在python官網(wǎng)下載適合自己電腦的python版本(注意x86是32位的,x86-64是64位的) 這里選擇3.7版本 官網(wǎng): www.python.org/downloads/ 在下面選取想要的版本 選擇安裝包:web-based安裝包最小,是基于網(wǎng)絡(luò)安裝,下載快,executable是exe安裝,embeddable zip是壓縮包安裝(注意x86是32位的,

    2024年02月13日
    瀏覽(36)
  • 卷積神經(jīng)網(wǎng)絡(luò)——上篇【深度學(xué)習(xí)】【PyTorch】【d2l】

    卷積神經(jīng)網(wǎng)絡(luò)——上篇【深度學(xué)習(xí)】【PyTorch】【d2l】

    5.1.1、理論部分 全連接層后,卷積層出現(xiàn)的意義? 一個(gè)足夠充分的照片數(shù)據(jù)集,輸入,全連接層參數(shù),GPU成本,訓(xùn)練時(shí)間是巨大的。 (convolutional neural networks,CNN)是機(jī)器學(xué)習(xí)利用自然圖像中一些已知結(jié)構(gòu)的創(chuàng)造性方法,需要更少的參數(shù),在處理圖像和其他類型的結(jié)構(gòu)化數(shù)據(jù)

    2024年02月12日
    瀏覽(23)
  • 卷積神經(jīng)網(wǎng)絡(luò)——中篇【深度學(xué)習(xí)】【PyTorch】【d2l】

    卷積神經(jīng)網(wǎng)絡(luò)——中篇【深度學(xué)習(xí)】【PyTorch】【d2l】

    5.5.1、理論部分 兩個(gè)? 卷積塊 ? 每個(gè)卷積塊中的基本單元是一個(gè)? 卷積層 ?、一個(gè) ? sigmoid激活函數(shù) ?和 ? 平均匯聚層 ? 三個(gè)? 全連接層密集塊 ? 早期神經(jīng)網(wǎng)絡(luò),先使用卷積層學(xué)習(xí)圖片空間信息,然后全連接層轉(zhuǎn)換到類別空間。 5.5.2、代碼實(shí)現(xiàn) 定義一個(gè) Sequential塊

    2024年02月11日
    瀏覽(31)
  • 卷積神經(jīng)網(wǎng)絡(luò)——下篇【深度學(xué)習(xí)】【PyTorch】【d2l】

    卷積神經(jīng)網(wǎng)絡(luò)——下篇【深度學(xué)習(xí)】【PyTorch】【d2l】

    5.10.1、理論部分 批量歸一化可以解決深層網(wǎng)絡(luò)中梯度消失和收斂慢的問(wèn)題,通過(guò)固定每個(gè)批次的均值和方差來(lái)加速收斂,一般不改變模型精度。批量規(guī)范化已經(jīng)被證明是一種不可或缺的方法,它適用于幾乎所有圖像分類器。 批量規(guī)劃是一個(gè)線性變換 ,把參數(shù)的均值方差給拉

    2024年02月12日
    瀏覽(25)
  • 李沐深度學(xué)習(xí)環(huán)境安裝(包括pytorch和d2l)

    李沐深度學(xué)習(xí)環(huán)境安裝(包括pytorch和d2l)

    進(jìn)入Anaconda官網(wǎng)下載:https://www.anaconda.com/distribution/ 安裝細(xì)節(jié)不在這贅述,和一般軟件相同。如下圖注意點(diǎn) 最后檢測(cè)是否安裝成功,打開(kāi)cmd命令行輸入 conda --version ,如下圖顯示版本即為安裝成功 2.1 切換到國(guó)內(nèi)鏡像源,分別輸入以下4行代碼: 2.2 創(chuàng)建pytorch環(huán)境 創(chuàng)建pytorch環(huán)境

    2024年02月13日
    瀏覽(42)
  • d2l_第九章_RNN循環(huán)神經(jīng)網(wǎng)絡(luò)

    d2l_第九章_RNN循環(huán)神經(jīng)網(wǎng)絡(luò)

    經(jīng)過(guò)前面的學(xué)習(xí),我們已知數(shù)據(jù)大于算法。而以數(shù)據(jù)為驅(qū)動(dòng)的前提下,我們提出了各種模型。為了適配表格數(shù)據(jù),提出了MLP;為了適配圖像數(shù)據(jù)提出了CNN;而對(duì)了適配序列數(shù)據(jù),我們提出了RNN。 目前為止的數(shù)據(jù)的樣本都符合iid獨(dú)立同分布特點(diǎn),但是對(duì)于音頻,文本中的單詞等

    2024年02月12日
    瀏覽(16)
  • d2l_第八章學(xué)習(xí)_現(xiàn)代卷積神經(jīng)網(wǎng)絡(luò)

    d2l_第八章學(xué)習(xí)_現(xiàn)代卷積神經(jīng)網(wǎng)絡(luò)

    參考: d2l 研究人員認(rèn)為: 更大更干凈的 數(shù)據(jù)集 或是稍加改進(jìn)的特征提取方法,比任何學(xué)習(xí)算法帶來(lái)的進(jìn)步大得多。 認(rèn)為特征本身應(yīng)該被學(xué)習(xí),即卷積核參數(shù)應(yīng)該是可學(xué)習(xí)的。 創(chuàng)新點(diǎn)在于GPU與更深的網(wǎng)絡(luò),使用ReLU激活函數(shù),Dropout層。 可參考: AlexNet https://blog.csdn.net/qq_4

    2024年02月11日
    瀏覽(15)
  • D2L學(xué)習(xí)記錄-10-詞嵌入word2vec

    D2L學(xué)習(xí)記錄-10-詞嵌入word2vec

    《動(dòng)手學(xué)深度學(xué)習(xí) Pytorch 第1版》第10章 自然語(yǔ)言處理 第1、2、3 和 4節(jié) (詞嵌入) 詞向量:自然語(yǔ)言中,詞是表義的基本單元。詞向量是用來(lái)表示詞的向量。 詞嵌入 (word embedding):將詞映射為實(shí)數(shù)域向量的技術(shù)稱為詞嵌入。 詞嵌入出現(xiàn)的原因:由于 one-hot 編碼的詞向量不能準(zhǔn)確

    2024年02月14日
    瀏覽(26)
  • 補(bǔ)充d2l.torch庫(kù)里面缺失train_ch3函數(shù)

    補(bǔ)充d2l.torch庫(kù)里面缺失train_ch3函數(shù)

    在最新版本1.0.3,上 遇到d2l.torch庫(kù)里面缺失train_ch3函數(shù),下面是個(gè)人寫的替代補(bǔ)充函數(shù)可以完全平替。 所有函數(shù)都放在util.py文件中 直接調(diào)用即可 找個(gè)位置放就行

    2024年02月05日
    瀏覽(166)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包