衡阳派盒市场营销有限公司

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

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

3天內不再提示

如何搭建VGG網絡實現Mnist數據集的圖像分類

jf_78858299 ? 來源:算法與編程之美 ? 作者:算法與編程之美 ? 2023-02-14 15:00 ? 次閱讀

1 問題

如何搭建VGG網絡,實現Mnist數據集的圖像分類?

2 方法

步驟:

首先導包

VGG11由8個卷積,三個全連接組成,注意池化只改變特征圖大小,不改變通道數

給定x查看最后結果

x = torch.rand(128,3,224,224)
net = MyNet()
out = net(x)
print(out.shape)
#torch.Size([128, 1000])

class MyNet(nn.Module):
def __init__(self) -> None:
super().__init__()
#(1)conv3-64
self.conv1 = nn.Conv2d(
in_channels=3,
out_channels=64,
kernel_size=3,
stride=1,
padding=1 #! 不改變特征圖的大小
)
#! 池化只改變特征圖大小,不改變通道數
self.max_pool_1 = nn.MaxPool2d(2)
#(2)conv3-128
self.conv2 = nn.Conv2d(
in_channels=64,
out_channels=128,
kernel_size=3,
stride=1,
padding=1
)
self.max_pool_2 = nn.MaxPool2d(2)
#(3) conv3-256,conv3-256
self.conv3_1 = nn.Conv2d(
in_channels=128,
out_channels=256,
kernel_size=3,
stride=1,
padding=1)
self.conv3_2 = nn.Conv2d(
in_channels=256,
out_channels=256,
kernel_size=3,
stride=1,
padding=1
)
self.max_pool_3 = nn.MaxPool2d(2)
#(4)conv3-512,conv3-512
self.conv4_1 = nn.Conv2d(
in_channels=256,
out_channels=512,
kernel_size=3,
stride=1,
padding=1
)
self.conv4_2 = nn.Conv2d(
in_channels=512,
out_channels=512,
kernel_size=3,
stride=1,
padding=1
)
self.max_pool_4 = nn.MaxPool2d(2)
#(5)conv3-512,conv3-512
self.conv5_1 = nn.Conv2d(
in_channels=512,
out_channels=512,
kernel_size=3,
stride=1,
padding=1
)
self.conv5_2 = nn.Conv2d(
in_channels=512,
out_channels=512,
kernel_size=3,
stride=1,
padding=1
)
self.max_pool_5 = nn.MaxPool2d(2)
#(6)
self.fc1 = nn.Linear(25088,4096)
self.fc2 = nn.Linear(4096,4096)
self.fc3 = nn.Linear(4096,1000)
def forward(self,x):
x = self.conv1(x)
print(x.shape)
x = self.max_pool_1(x)
print(x.shape)
x = self.conv2(x)
print(x.shape)
x = self.max_pool_2(x)
print(x.shape)
x = self.conv3_1(x)
print(x.shape)
x = self.conv3_2(x)
print(x.shape)
x = self.max_pool_3(x)
print(x.shape)
x = self.conv4_1(x)
print(x.shape)
x = self.conv4_2(x)
print(x.shape)
x = self.max_pool_4(x)
print(x.shape)
x = self.conv5_1(x)
print(x.shape)
x = self.conv5_2(x)
print(x.shape)
x = self.max_pool_5(x)
print(x.shape)
x = torch.flatten(x,1)
print(x.shape)
x = self.fc1(x)
print(x.shape)
x = self.fc2(x)
print(x.shape)
out = self.fc3(x)
return out

Import torch
from torch import nn

3 結語

通過本周學習讓我學會了VGG11網絡,從實驗中我遇到的容易出錯的地方是卷積的in_features和out_features容易出錯,尺寸不對的時候就會報錯,在多個卷積的情況下尤其需要注意,第二點容易出錯的地方是卷積以及池化所有結束后,一定要使用torch.flatten進行拉伸,第三點容易出錯的地方是fc1的in_features,這個我通過使用斷點的方法,得到fc1前一步的size值,從而得到in_features的值,從中收獲頗深。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據集
    +關注

    關注

    4

    文章

    1209

    瀏覽量

    24835
  • MNIST
    +關注

    關注

    0

    文章

    10

    瀏覽量

    3398
  • vgg
    vgg
    +關注

    關注

    1

    文章

    11

    瀏覽量

    5212
收藏 人收藏

    評論

    相關推薦

    TF之CNN:CNN實現mnist數據預測

    TF之CNN:CNN實現mnist數據預測 96%采用placeholder用法+2層C及其max_pool法+隱藏層dropout法+輸出層softmax法+目標函數cross_e
    發表于 12-19 17:02

    使用MXNetFashionMNIST數據分類簡潔實現

    [MXNet逐夢之旅]練習四·使用MXNetFashionMNIST數據分類簡潔實現
    發表于 05-11 15:21

    圖像分類Caltech 256數據

    教程圖像分類 Caltech 256?數據
    發表于 05-12 09:04

    使用MXNetFashionMNIST數據分類手動實現

    [MXNet逐夢之旅]練習三·使用MXNetFashionMNIST數據分類手動實現
    發表于 05-14 07:40

    TensorFlow邏輯回歸處理MNIST數據

    /get_started/mnist/beginners提供。大部分人已經對 MNIST 數據很熟悉了,它是機器學習的基礎,包含手寫數字的圖像
    發表于 08-11 19:36

    TensorFlow邏輯回歸處理MNIST數據

    /get_started/mnist/beginners提供。大部分人已經對 MNIST 數據很熟悉了,它是機器學習的基礎,包含手寫數字的圖像
    發表于 08-11 19:36

    如何用TensorFlow導入MNIST數據

    用TensorFlow導入MNIST數據
    發表于 11-11 07:33

    圖像預處理和改進神經網絡推理的簡要介紹

    為提升識別準確率,采用改進神經網絡,通過Mnist數據進行訓練。整體處理過程分為兩步:圖像預處理和改進神經
    發表于 12-23 08:07

    keras制作mnist數據的流程

    第5講講解了keras制作mnist數據的流程,進一步的,有時候我們需要構建自己的數據。 以flower
    發表于 08-18 06:38

    如何利用keras打包制作mnist數據

    mnist為例講述怎么自己制作數據。 1 使用keras內置函數下載數據 import tensorflow as tf impor
    發表于 08-18 06:12

    如何使用神經網絡模型加速圖像數據分類

    通過圖像分類示例,了解Xilinx FPGA如何加速機器學習,這是關鍵的數據中心工作負載。 該演示使用Alexnet神經網絡模型加速了ImageNet
    的頭像 發表于 11-21 06:08 ?2515次閱讀

    如何使用VGG網絡進行MNIST圖像分類

    VGG網絡,可以應用在人臉識別、圖像分類等方面。VGG有兩種結構,分別為16層和19層。具體結構在其文獻做了詳細表述
    的頭像 發表于 02-17 15:06 ?956次閱讀
    如何使用<b class='flag-5'>VGG</b><b class='flag-5'>網絡</b>進行<b class='flag-5'>MNIST</b><b class='flag-5'>圖像</b><b class='flag-5'>分類</b>

    簡述PyTorch中mnist的transforms圖像處理

    MNIST數據是一個公開的數據,相當于深度學習的hello world,用來檢驗一個模型/庫/框架是否有效的一個評價指標。
    的頭像 發表于 02-24 10:43 ?581次閱讀
    簡述PyTorch中<b class='flag-5'>mnist</b>的transforms<b class='flag-5'>圖像</b>處理

    PyTorch教程4.2之圖像分類數據

    電子發燒友網站提供《PyTorch教程4.2之圖像分類數據.pdf》資料免費下載
    發表于 06-05 15:41 ?0次下載
    PyTorch教程4.2之<b class='flag-5'>圖像</b><b class='flag-5'>分類</b><b class='flag-5'>數據</b><b class='flag-5'>集</b>

    PyTorch教程-4.2. 圖像分類數據

    SageMaker Studio Lab 中打開筆記本 廣泛用于圖像分類數據之一是手寫數字的MNIST
    的頭像 發表于 06-05 15:38 ?654次閱讀
    PyTorch教程-4.2. <b class='flag-5'>圖像</b><b class='flag-5'>分類</b><b class='flag-5'>數據</b><b class='flag-5'>集</b>
    菲律宾太阳城官方网| 寒江博彩堂| 百盛百家乐官网的玩法技巧和规则| 在线百家乐官网策| 青神县| 威尼斯人娱乐城赌场| 百家乐心得分享| 有百家乐官网的游戏平台| 人民币棋牌游戏| 视频百家乐官网信誉| bet365提款多久到账| 伯爵百家乐娱乐场| 百家乐官网3式打法微笑心法| 大发888娱乐城客户端迅雷下载| 百家乐官网赌场代理荐| 英山县| 宝马会娱乐城网址| 荷规则百家乐的玩法技巧和规则 | 大发888游戏网站| 百家乐哪条下路好| 百家乐软件购买| 百家乐官网怎么完才能嬴| 大发888体育场| 百家乐英皇娱乐平台| 百家乐胜率在哪| 最佳场百家乐官网的玩法技巧和规则| 188金宝博开户| 大发888下载df888| 百家乐证据| 百家乐网络赌城| 香港百家乐马书| 网上百家乐赌城| 百家乐棋牌外挂| 百家乐棋牌作弊器| 百家乐9人桌| 澳门百家乐规则视频| 真人百家乐作假视频| 百家乐线上代理网站| 百家乐棋牌作弊器| 新彩百家乐的玩法技巧和规则| 全景网百家乐官网的玩法技巧和规则 |