最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytorch神經(jīng)網(wǎng)絡(luò)從零開(kāi)始實(shí)現(xiàn)多層感知機(jī)

 更新時(shí)間:2021年10月11日 16:02:12   作者:Supre_yuan  
這篇文章主要為大家介紹了pytorch神經(jīng)網(wǎng)絡(luò)從零開(kāi)始實(shí)現(xiàn)多層感知機(jī)的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步

我們已經(jīng)在數(shù)學(xué)上描述了多層感知機(jī),現(xiàn)在讓我們嘗試自己實(shí)現(xiàn)一個(gè)多層感知機(jī)。為了與我們之前使用softmax回歸獲得的結(jié)果進(jìn)行比較,我們將繼續(xù)使用Fashion-MNIST圖像分類(lèi)數(shù)據(jù)集。

import torch
from torch import nn
from d2l import torch as d2l
batch_size = 256
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)

初始化模型參數(shù)

Fashion-MNIST中的每個(gè)圖像由 28 × 28 = 784個(gè)灰度圖像值組成。所有圖像共分為10個(gè)類(lèi)別。忽略像素之間的空間結(jié)構(gòu),我們可以將每個(gè)圖像視為784個(gè)輸入特征和10個(gè)類(lèi)的簡(jiǎn)單分類(lèi)數(shù)據(jù)集。
首先,我們將實(shí)現(xiàn)一個(gè)具有單隱藏層的多層感知機(jī),它包含256個(gè)隱藏單元。注意我們可以將這兩個(gè)量都視為超參數(shù)。通常,我們選擇2的若干次冪作為層的寬度。
我們用幾個(gè)張量來(lái)表示我們的參數(shù)。注意,對(duì)于每一層我們都需要記錄一個(gè)權(quán)重矩陣和一個(gè)偏置向量。跟以前一樣,我們要為這些參數(shù)的損失梯度分配內(nèi)存。

num_inputs, num_outputs, num_hiddens = 784, 10, 256
W1 = nn.Parameter(torch.randn(
num_inputs, num_hiddens, requires_grad=True) * 0.01)
b1 = nn.Parameter(torch.zeros(num_hiddens, requires_grad=True))
W2 = nn.Parameter(torch.randn(
num_hiddens, num_outputs, requires_grad=True) * 0.01)
b2 = nn.Parameter(torch.zeros(num_outputs, requires_grad=True))
params = [W1, b1, W2, b2]

激活函數(shù)

為了確保我們知道一切是如何工作的,我們將使用最大值函數(shù)自己實(shí)現(xiàn)ReLU激活函數(shù),而不是直接調(diào)用內(nèi)置的relu函數(shù)。

def relu(X):
	a = torch.zeros_like(X)
	return torch.max(X, a)

模型

因?yàn)槲覀兒雎粤丝臻g結(jié)構(gòu),所示我們使用reshape將每個(gè)二維圖像轉(zhuǎn)換為一個(gè)長(zhǎng)度為num_inputs的向量。我們只需幾行代碼就可以實(shí)現(xiàn)我們的模型。

def net(X):
	X = X.reshape((-1, num_inputs))
	H = relu(X@W1 + b1)    # 這里“@”代表矩陣乘法
	return (H@W2 + b2)

損失函數(shù)

為了確保數(shù)值的穩(wěn)定性,同時(shí)由于我們已經(jīng)從零實(shí)現(xiàn)過(guò)softmax函數(shù),因此在這里我們直接使用高級(jí)API中的內(nèi)置函數(shù)來(lái)計(jì)算softmax和交叉熵?fù)p失。

loss = nn.CrossEntropyLoss()

訓(xùn)練

幸運(yùn)的是,多層感知機(jī)的訓(xùn)練過(guò)程與softmax回歸的訓(xùn)練過(guò)程完全相同??梢灾苯诱{(diào)用d2l包的train_ch3函數(shù),將迭代周期設(shè)置為10,并將學(xué)習(xí)率設(shè)置為0.1。

num_epochs, lr = 10, 0.1
updater = torch.optim.SGD(params, lr=lr)
d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs, updater)

在這里插入圖片描述

為了對(duì)學(xué)習(xí)到的模型進(jìn)行評(píng)估,我們將在一些 測(cè)試數(shù)據(jù)上應(yīng)用這個(gè)模型。

d2l.predict_ch3(net, test_iter)

在這里插入圖片描述

以上就是pytorch神經(jīng)網(wǎng)絡(luò)從零開(kāi)始實(shí)現(xiàn)多層感知機(jī)的詳細(xì)內(nèi)容,更多關(guān)于pytorch神經(jīng)網(wǎng)絡(luò)多層感知機(jī)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python通過(guò)Schema實(shí)現(xiàn)數(shù)據(jù)驗(yàn)證方式

    Python通過(guò)Schema實(shí)現(xiàn)數(shù)據(jù)驗(yàn)證方式

    這篇文章主要介紹了Python通過(guò)Schema實(shí)現(xiàn)數(shù)據(jù)驗(yàn)證方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python 類(lèi)的繼承實(shí)例詳解

    Python 類(lèi)的繼承實(shí)例詳解

    這篇文章主要介紹了Python 類(lèi)的繼承實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Python連接Redis庫(kù)常見(jiàn)操作全面詳解

    Python連接Redis庫(kù)常見(jiàn)操作全面詳解

    本文將介紹如何在Python中進(jìn)行Redis操作,包括連接Redis、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)檢索和其他常見(jiàn)操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • python實(shí)現(xiàn)郵件發(fā)送功能

    python實(shí)現(xiàn)郵件發(fā)送功能

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)郵件發(fā)送功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 舉例介紹Python中的25個(gè)隱藏特性

    舉例介紹Python中的25個(gè)隱藏特性

    這篇文章主要介紹了一些Python中的隱藏特性,從stackoverflow的人氣問(wèn)題回答中整理而來(lái),主要以代碼實(shí)際解釋說(shuō)明,需要的朋友可以參考下
    2015-03-03
  • Python實(shí)現(xiàn)數(shù)字的格式化輸出

    Python實(shí)現(xiàn)數(shù)字的格式化輸出

    這篇文章主要介紹了Python如何實(shí)現(xiàn)數(shù)字的格式化輸出,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08
  • Python基于PycURL實(shí)現(xiàn)POST的方法

    Python基于PycURL實(shí)現(xiàn)POST的方法

    這篇文章主要介紹了Python基于PycURL實(shí)現(xiàn)POST的方法,涉及Python實(shí)現(xiàn)curl傳遞post數(shù)據(jù)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • python搭建虛擬環(huán)境的步驟詳解

    python搭建虛擬環(huán)境的步驟詳解

    相信每位python都知道,進(jìn)行不同的python項(xiàng)目開(kāi)發(fā),有的時(shí)候會(huì)遇到這樣的情況:python 版本不一樣,使用的軟件包版本不一樣。這種問(wèn)題最佳的解決辦法是為不同的項(xiàng)目搭建獨(dú)立的 python 環(huán)境。下面來(lái)一起看看吧。
    2016-09-09
  • pandas對(duì)dataFrame中某一個(gè)列的數(shù)據(jù)進(jìn)行處理的方法

    pandas對(duì)dataFrame中某一個(gè)列的數(shù)據(jù)進(jìn)行處理的方法

    這篇文章主要介紹了pandas對(duì)dataFrame中某一個(gè)列的數(shù)據(jù)進(jìn)行處理的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python 辦公自動(dòng)化——基于pyqt5和openpyxl統(tǒng)計(jì)符合要求的名單

    python 辦公自動(dòng)化——基于pyqt5和openpyxl統(tǒng)計(jì)符合要求的名單

    前幾天接到的一個(gè)需求,因?yàn)閷W(xué)校給的名單是青年大學(xué)習(xí)已學(xué)習(xí)的名單,然而要知道未學(xué)習(xí)的名單只能從所有團(tuán)員中再排查一次,過(guò)程相當(dāng)麻煩。剛好我也學(xué)過(guò)一些操作辦公軟件的基礎(chǔ),再加上最近在學(xué)pyqt5,所以我決定用python寫(xiě)個(gè)自動(dòng)操作文件的腳本給她用用。
    2021-05-05

最新評(píng)論

永昌县| 瓮安县| 温泉县| 西平县| 景泰县| 岚皋县| 北川| 轮台县| 汝南县| 山东省| 通渭县| 宜宾市| 京山县| 郧西县| 宁安市| 平湖市| 巢湖市| 大兴区| 丹凤县| 光山县| 新民市| 凯里市| 泉州市| 昆山市| 天水市| 七台河市| 呼玛县| 夏河县| 长沙市| 桃园市| 青川县| 喀喇沁旗| 霍林郭勒市| 邻水| 白城市| 吴忠市| 当涂县| 呼图壁县| 昆山市| 民县| 汉中市|