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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)MNIST數(shù)據(jù)集分類

jf_78858299 ? 來源:算法與編程之美 ? 作者:編程之美 ? 2023-03-02 09:38 ? 次閱讀

問題

對(duì)比單個(gè)全連接網(wǎng)絡(luò),在卷積神經(jīng)網(wǎng)絡(luò)層的加持下,初始時(shí),整個(gè)神經(jīng)網(wǎng)絡(luò)模型的性能是否會(huì)更好。

方法

模型設(shè)計(jì)

兩層卷積神經(jīng)網(wǎng)絡(luò)(包含池化層),一層全連接網(wǎng)絡(luò)。

  1. 選擇 5 x 5 的卷積核,輸入通道為 1,輸出通道為 10:

    此時(shí)圖像矩陣經(jīng)過 5 x 5 的卷積核后會(huì)小兩圈,也就是4個(gè)數(shù)位,變成 24 x 24,輸出通道為10;

  2. 選擇 2 x 2 的最大池化層:

    此時(shí)圖像大小縮短一半,變成 12 x 12,通道數(shù)不變;

  3. 再次經(jīng)過5 x 5的卷積核,輸入通道為 10,輸出通道為 20:

    此時(shí)圖像再小兩圈,變成 8*8,輸出通道為20;

  4. 再次經(jīng)過2 x 2的最大池化層:

    此時(shí)圖像大小縮短一半,變成 4 x 4,通道數(shù)不變;

  5. 最后將圖像整型變換成向量,輸入到全連接層中:

    輸入一共有 4 x 4 x 20 = 320個(gè)元素,輸出為 10.

代碼

準(zhǔn)備數(shù)據(jù)集

準(zhǔn)備數(shù)據(jù)集

batch_size = 64

transform = transforms.Compose([

transforms.ToTensor(),

transforms.Normalize((0.1307,), (0.3081,))

])

train_dataset = datasets.MNIST(root='data’,

train=True,

                          download=True,

                          transform=transform)

train_loader = DataLoader(train_dataset,

shuffle=True,

                     batch_size=batch_size)

test_dataset = datasets.MNIST(root='data',

train=False,

                         download=True,

                         transform=transform)

test_loader = DataLoader(test_dataset,

shuffle=False,

                    batch_size=batch_size)

建立模型

class Net(torch.nn.Module):

def init (self):

super(Net, self).__init__()

   self.conv1 = torch.nn.Conv2d(1, 10, kernel_size=5)

   self.conv2 = torch.nn.Conv2d(10, 20, kernel_size=5)

   self.pooling = torch.nn.MaxPool2d(2)

   self.fc = torch.nn.Linear(320, 10)

def forward(self, x):

batch_size = x.size(0)

   x = F.relu(self.pooling(self.conv1(x)))

   x = F.relu(self.pooling(self.conv2(x)))

   x = x.view(batch_size, -1)

   x = self.fc(x)

   return x

model = Net()

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

model.to(device)

構(gòu)造損失函數(shù)+優(yōu)化器

criterion = torch.nn.CrossEntropyLoss()

optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.5)

訓(xùn)練+測試

def train(epoch):

running_loss = 0.0

for batch_idx, data in enumerate(train_loader, 0):

inputs, target = data

   inputs,target=inputs.to(device),target.to(device)

   optimizer.zero_grad()

   outputs = model(inputs)

   loss = criterion(outputs, target)

   loss.backward()

   optimizer.step()

   running_loss += loss.item()

   if batch_idx % 300 == 299:

       print('[%d,%.5d] loss:%.3f' % (epoch + 1, batch_idx + 1, running_loss / 2000))

       running_loss = 0.0

def test():

correct=0

total=0

with torch.no_grad():

for data in test_loader:

       inputs,target=data

       inputs,target=inputs.to(device),target.to(device)

       outputs=model(inputs)

       _,predicted=torch.max(outputs.data,dim=1)

       total+=target.size(0)

       correct+=(predicted==target).sum().item()

print('Accuracy on test set:%d %% [%d%d]' %(100*correct/total,correct,total))

if name ==' main ':

for epoch in range(10):

train(epoch)

   test()

運(yùn)行結(jié)果

(1)batch_size:64,訓(xùn)練次數(shù):10

圖片

圖片

(2)batch_size:128,訓(xùn)練次數(shù):10

圖片

(3)batch_size:128,訓(xùn)練次數(shù):10

圖片

結(jié)語

對(duì)比單個(gè)全連接網(wǎng)絡(luò),在卷積神經(jīng)網(wǎng)絡(luò)層的加持下,初始時(shí),整個(gè)神經(jīng)網(wǎng)絡(luò)模型的性能顯著提升,準(zhǔn)確率最低為96%。在batch_size:64,訓(xùn)練次數(shù):100情況下,準(zhǔn)確率達(dá)到99%。下一階在平均池化,3*3卷積核,以及不同通道數(shù)的情況下,探索對(duì)模型性能的影響。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于賽靈思FPGA的卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)設(shè)計(jì)

    FPGA 上實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò) (CNN)。CNN 是一類深度神經(jīng)網(wǎng)絡(luò),在處理大規(guī)模圖像識(shí)別任務(wù)以及與機(jī)器學(xué)習(xí)類似的其他問題方面已大獲成功。在當(dāng)前案例中,針對(duì)在 FPGA 上
    發(fā)表于 06-19 07:24

    卷積神經(jīng)網(wǎng)絡(luò)如何使用

    卷積神經(jīng)網(wǎng)絡(luò)(CNN)究竟是什么,鑒于神經(jīng)網(wǎng)絡(luò)在工程上經(jīng)歷了曲折的歷史,您為什么還會(huì)在意它呢? 對(duì)于這些非常中肯的問題,我們似乎可以給出相對(duì)簡明的答案。
    發(fā)表于 07-17 07:21

    卷積神經(jīng)網(wǎng)絡(luò)一維卷積的處理過程

    以前的神經(jīng)網(wǎng)絡(luò)幾乎都是部署在云端(服務(wù)器上),設(shè)備端采集到數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送給服務(wù)器做inference(推理),結(jié)果再通過網(wǎng)絡(luò)返回給設(shè)備端。
    發(fā)表于 12-23 06:16

    卷積神經(jīng)網(wǎng)絡(luò)模型發(fā)展及應(yīng)用

    的過程中存在梯度消失的問題[23],神經(jīng)網(wǎng)絡(luò)再 次慢慢淡出人們的視線。1998 年 LeCun 發(fā)明了 LeNet-5,并在 Mnist 數(shù)據(jù) 達(dá)到 98%以上的識(shí)別準(zhǔn)確率,形成影響
    發(fā)表于 08-02 10:39

    卷積神經(jīng)網(wǎng)絡(luò)簡介:什么是機(jī)器學(xué)習(xí)?

    的理想卷積神經(jīng)網(wǎng)絡(luò)與其他類型的網(wǎng)絡(luò)之間的主要區(qū)別在于它們處理數(shù)據(jù)的方式。通過過濾,將連續(xù)檢查
    發(fā)表于 02-23 20:11

    卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用 卷積神經(jīng)網(wǎng)絡(luò)通常用來處理什么

    神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)廣泛用于圖像識(shí)別、自然語言處理、視頻處理等方面。本文將對(duì)卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用進(jìn)行詳盡、詳實(shí)、細(xì)致的介紹,以及
    的頭像 發(fā)表于 08-21 16:41 ?4947次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的基本原理 卷積神經(jīng)網(wǎng)絡(luò)發(fā)展 卷積神經(jīng)網(wǎng)絡(luò)三大特點(diǎn)

    中最重要的神經(jīng)網(wǎng)絡(luò)之一。它是一種由多個(gè)卷積層和池化層(也可稱為下采樣層)組成的神經(jīng)網(wǎng)絡(luò)。CNN 的基本思想是以圖像為輸入,通過網(wǎng)絡(luò)
    的頭像 發(fā)表于 08-21 16:49 ?2418次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)層級(jí)結(jié)構(gòu) 卷積神經(jīng)網(wǎng)絡(luò)卷積層講解

    分類、目標(biāo)檢測、人臉識(shí)別等。卷積神經(jīng)網(wǎng)絡(luò)的核心是卷積層和池化層,它們構(gòu)成了網(wǎng)絡(luò)的主干,實(shí)現(xiàn)了對(duì)
    的頭像 發(fā)表于 08-21 16:49 ?7586次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的介紹 什么是卷積神經(jīng)網(wǎng)絡(luò)算法

    卷積神經(jīng)網(wǎng)絡(luò)的介紹 什么是卷積神經(jīng)網(wǎng)絡(luò)算法 卷積神經(jīng)網(wǎng)絡(luò)涉及的關(guān)鍵技術(shù)
    的頭像 發(fā)表于 08-21 16:49 ?1867次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò)的優(yōu)缺點(diǎn) 卷積神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò)的區(qū)別

    深度神經(jīng)網(wǎng)絡(luò)是一種基于神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)算法,其主要特點(diǎn)是由多層神經(jīng)元構(gòu)成,可以根據(jù)數(shù)據(jù)自動(dòng)調(diào)整神經(jīng)元之間的權(quán)重,從而
    發(fā)表于 08-21 17:07 ?4093次閱讀

    cnn卷積神經(jīng)網(wǎng)絡(luò)算法 cnn卷積神經(jīng)網(wǎng)絡(luò)模型

    cnn卷積神經(jīng)網(wǎng)絡(luò)算法 cnn卷積神經(jīng)網(wǎng)絡(luò)模型 卷積神經(jīng)網(wǎng)絡(luò)(CNN)是一種特殊的
    的頭像 發(fā)表于 08-21 17:15 ?2076次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)的原理與實(shí)現(xiàn)

    核心思想是通過卷積操作提取輸入數(shù)據(jù)的特征。與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)不同,卷積神經(jīng)網(wǎng)絡(luò)具有參數(shù)共享和局部連
    的頭像 發(fā)表于 07-02 16:47 ?565次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的是什么

    、訓(xùn)練過程以及應(yīng)用場景。 1. 卷積神經(jīng)網(wǎng)絡(luò)的基本概念 1.1 卷積神經(jīng)網(wǎng)絡(luò)的定義 卷積神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-03 09:15 ?397次閱讀

    cnn卷積神經(jīng)網(wǎng)絡(luò)分類有哪些

    卷積神經(jīng)網(wǎng)絡(luò)概述 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,簡稱CNN)是一種深度學(xué)習(xí)模型,由多層卷積層和池
    的頭像 發(fā)表于 07-03 09:28 ?608次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)分類方法有哪些

    ,包括基本原理、常見架構(gòu)、優(yōu)化策略、應(yīng)用場景等。 1. 卷積神經(jīng)網(wǎng)絡(luò)的基本原理 卷積神經(jīng)網(wǎng)絡(luò)是一種前饋神經(jīng)網(wǎng)絡(luò),其核心思想是
    的頭像 發(fā)表于 07-03 09:40 ?455次閱讀
    主站蜘蛛池模板: 亚洲精品久久久久久偷窥| 九九精品在线播放| 天美传媒在线完整免费观看网站| 成年黄网站免费大全毛片| 欧美熟妇VIVOE精品| Chinesetube国产中文| 欧美日韩在线成人看片a| my pico未删减在线观看| 欧美一区二区三区不卡免费| YELLOW视频在线观看免费版高清| 欧美亚洲曰韩一本道| 成人精品视频网站| 色欲久久综合亚洲精品蜜桃| 国产精品久久久亚洲偷窥女厕| 性春院| 果冻传媒在线看免费高清| 妖精视频在线观看高清| 久久热在线视频精品店| 91蜜桃视频| 欧美6O老妪与小伙交| WWW夜片内射视频在观看视频| 日韩经典欧美一区二区三区| 国产成人高清在线观看播放| 性xxx免费| 久久久91精品国产一区二区| 97国产视频| 全黄H全肉细节文短篇| 国产超碰AV人人做人人爽| 小萝ar视频网站| 精品一品国产午夜福利视频| 主播蜜汁丝袜精品自拍| 欧美性爱-第1页| 国产AV精品久久久毛片| 亚洲国产AV无码综合在线| 久久精品观看| 99久久免费看国产精品| 色爱AV综合区| 花蝴蝶免费版高清版| 91福利潘春春在线观看| 日日操日日射| 黄色片网站下载|