日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > 卷积神经网络 >内容正文

卷积神经网络

卷积神经网络之 - Lenet

發(fā)布時間:2025/3/8 卷积神经网络 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 卷积神经网络之 - Lenet 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文建議閱讀時間 10 min

前言

Lenet 是一系列網(wǎng)絡(luò)的合稱,包括 Lenet1 - Lenet5,由 Yann LeCun 等人在 1990 年《Handwritten Digit Recognition with a Back-Propagation Network》中提出,是卷積神經(jīng)網(wǎng)絡(luò)的 HelloWorld。

Lenet5

Lenet 的最終版本是 Lenet5,是一個 7 層的神經(jīng)網(wǎng)絡(luò),包含 3 個卷積層,2 個池化層,1 個全連接層。其中所有卷積層的所有卷積核都為 5x5,步長 strid=1,池化方法都為全局 pooling,激活函數(shù)為 Sigmoid,網(wǎng)絡(luò)結(jié)構(gòu)如下:

Lenet-5 網(wǎng)絡(luò)結(jié)構(gòu)

代碼復(fù)現(xiàn)

Lenet 網(wǎng)絡(luò)的參數(shù)量,以及每層的輸出特征圖大小如下:

  • 卷積的卷積核都為 5×5 步長 stride=1

  • 輸入是 32×32

  • -> 6@28*28(卷積 C1) ? 參數(shù):5×5×6+6 =156

  • -> 6@14*14(池化 S2) ? 參數(shù):偏移量參數(shù) ?2×6

  • -> 16@10*10(卷積 C3) ?參數(shù):5×5×6×16+16 = 2416 ?# 這里與原始的 LeNet 網(wǎng)絡(luò)有區(qū)別

  • -> 16@5*5(池化 S4) ? ?參數(shù):偏移量參數(shù) ?2×16

  • -> 120@1*1(卷積 C5)當(dāng)然,這里也可以認(rèn)為是全連接層(因?yàn)樯弦粚拥玫降奶卣鲌D是 5x5,卷積核也為 5x5) ? 參數(shù):5×5×16×120+120 = 48120

  • -> 84(全連接 F6) 這個 84 的選取有個背景:與 ASCII 碼表示的 7×12 的位圖大小相等 ?參數(shù):120×84

  • -> 10 (輸出類別數(shù)) ?參數(shù):84×10

下面我們用 Pytorh 框架實(shí)現(xiàn)一些 Lenet5,實(shí)際代碼會與上面的說明有些差別,并模擬一個輸入進(jìn)行測試。

import?torch import?torch.nn?as?nn import?torch.nn.functional?as?Fclass?LeNet5(nn.Module):def?__init__(self,?num_classes,?grayscale=False):?"""num_classes:?分類的數(shù)量grayscale:是否為灰度圖"""super(LeNet5,?self).__init__()self.grayscale?=?grayscaleself.num_classes?=?num_classesif?self.grayscale:?#?可以適用單通道和三通道的圖像in_channels?=?1else:in_channels?=?3#?卷積神經(jīng)網(wǎng)絡(luò)self.features?=?nn.Sequential(nn.Conv2d(in_channels,?6,?kernel_size=5),nn.MaxPool2d(kernel_size=2),nn.Conv2d(6,?16,?kernel_size=5),nn.MaxPool2d(kernel_size=2)???#?原始的模型使用的是?平均池化)#?分類器self.classifier?=?nn.Sequential(nn.Linear(16*5*5,?120),??#?這里把第三個卷積當(dāng)作是全連接層了nn.Linear(120,?84),?nn.Linear(84,?num_classes))def?forward(self,?x):x?=?self.features(x)?#?輸出?16*5*5?特征圖x?=?torch.flatten(x,?1)?#?展平?(1, 16*5*5)logits?=?self.classifier(x)?#?輸出?10probas?=?F.softmax(logits,?dim=1)return?logits,?probasnum_classes?=?10??#?分類數(shù)目 grayscale?=?True??#?是否為灰度圖 data?=?torch.rand((1,?1,?32,?32)) print("input?data:\n",?data,?"\n") model?=?LeNet5(num_classes,?grayscale) logits,?probas?=?model(data) print("logits:\n",logits) print("probas:\n",probas)

最后模擬了一個輸入,輸出一個分類器運(yùn)算后的結(jié)果和 10 個 softmax 概率值

輸出結(jié)果

備注:公眾號菜單包含了整理了一本AI小抄非常適合在通勤路上用學(xué)習(xí)。

往期精彩回顧那些年做的學(xué)術(shù)公益-你不是一個人在戰(zhàn)斗適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)在線手冊AI基礎(chǔ)下載(第一部分)備注:加入本站微信群或者qq群,請回復(fù)“加群”加入知識星球(4500+用戶,ID:92416895),請回復(fù)“知識星球”

喜歡文章,點(diǎn)個在看

總結(jié)

以上是生活随笔為你收集整理的卷积神经网络之 - Lenet的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。