那曲檬骨新材料有限公司

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>
    百家乐翻天粤语qvod| 哪个百家乐官网投注比较好| 有百家乐的棋牌游戏| 百家乐官网赌博出千| 德州百家乐扑克桌| 百家乐官网制胜法| 澳门新世纪娱乐城| 百家乐大赌场娱乐网规则| 百家乐官网专业赌博| 优博注册| 百家乐电投软件| 麻将百家乐官网筹码| 威尼斯人娱乐城玩百家乐| 7月24日风水| 百家乐官网有没有稳赢| 大发888娱乐城登陆| 百家乐官网视频游戏世界| 大发888开户即送58| 澳门百家乐技巧经| 新锦江百家乐官网娱乐场| 乌鲁木齐县| 威尼斯人娱乐城线路| 自贡百家乐官网赌| 百家乐官网获胜秘决| 大发888下载免费游戏| 澳门百家乐赢钱窍门| 百家乐官网三遍| 澳门博彩有限公司| 找查百家乐玩法技巧| 百家乐官网操作技巧| 15人百家乐官网桌布| 网络真钱游戏| 新太阳城工业区| 百家乐现场新全讯网| 伯爵百家乐官网娱乐| 菲律宾百家乐官网游戏| 大发888第一在线| 百家乐娱乐网备用网址| 百家乐视频世界| 蓝盾百家乐官网庄家利润分| 宾利百家乐官网游戏|