91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>PyTorch教程8.2之使用塊的網(wǎng)絡(luò)(VGG)

PyTorch教程8.2之使用塊的網(wǎng)絡(luò)(VGG)

2023-06-05 | pdf | 0.33 MB | 次下載 | 免費(fèi)

資料介紹

雖然 AlexNet 提供了深度 CNN 可以取得良好結(jié)果的經(jīng)驗(yàn)證據(jù),但它沒有提供通用模板來指導(dǎo)后續(xù)研究人員設(shè)計(jì)新網(wǎng)絡(luò)。在接下來的部分中,我們將介紹幾個(gè)常用于設(shè)計(jì)深度網(wǎng)絡(luò)的啟發(fā)式概念。

該領(lǐng)域的進(jìn)展反映了芯片設(shè)計(jì)中 VLSI(超大規(guī)模集成)的進(jìn)展,工程師從將晶體管放置到邏輯元件再到邏輯塊Mead,1980 年。同樣,神經(jīng)網(wǎng)絡(luò)架構(gòu)的設(shè)計(jì)也變得越來越抽象,研究人員從單個(gè)神經(jīng)元的角度思考到整個(gè)層,現(xiàn)在轉(zhuǎn)向塊,重復(fù)層的模式。十年后,這已經(jīng)發(fā)展到研究人員使用整個(gè)訓(xùn)練模型將它們重新用于不同但相關(guān)的任務(wù)。此類大型預(yù)訓(xùn)練模型通常稱為 基礎(chǔ)模型 Bommasani等人,2021 年。

回到網(wǎng)絡(luò)設(shè)計(jì)。使用塊的想法首先出現(xiàn)于牛津大學(xué)的視覺幾何組 (VGG),在他們同名的VGG網(wǎng)絡(luò)中Simonyan 和 Zisserman,2014 年。通過使用循環(huán)和子例程,可以使用任何現(xiàn)代深度學(xué)習(xí)框架輕松地在代碼中實(shí)現(xiàn)這些重復(fù)結(jié)構(gòu)。

import torch
from torch import nn
from d2l import torch as d2l
from mxnet import init, np, npx
from mxnet.gluon import nn
from d2l import mxnet as d2l

npx.set_np()
import jax
from flax import linen as nn
from d2l import jax as d2l
import tensorflow as tf
from d2l import tensorflow as d2l

8.2.1. VGG 塊

CNN 的基本構(gòu)建塊是以下序列:(i) 帶有填充的卷積層以保持分辨率,(ii) 非線性,例如 ReLU,(iii) 池化層,例如最大池化以減少解決。這種方法的問題之一是空間分辨率下降得非常快。特別是,這強(qiáng)加了一個(gè)硬限制log2?d網(wǎng)絡(luò)上所有維度之前的卷積層(d) 用完了。例如,在 ImageNet 的情況下,以這種方式不可能有超過 8 個(gè)卷積層。

Simonyan 和 Zisserman ( 2014 )的關(guān)鍵思想是以 塊的形式通過最大池化在下采樣之間使用多個(gè)卷積。他們主要感興趣的是深度網(wǎng)絡(luò)還是寬網(wǎng)??絡(luò)表現(xiàn)更好。例如,連續(xù)應(yīng)用兩個(gè) 3×3卷積接觸與單個(gè)相同的像素 5×5卷積確實(shí)如此。同時(shí),后者使用了大約同樣多的參數(shù)(25?c2) 三個(gè) 3×3卷積做(3?9?c2). 在相當(dāng)詳細(xì)的分析中,他們表明深度和狹窄的網(wǎng)絡(luò)明顯優(yōu)于淺層網(wǎng)絡(luò)。這將深度學(xué)習(xí)置于對(duì)具有超過 100 層的典型應(yīng)用的更深網(wǎng)絡(luò)的追求上。堆疊3×3卷積已成為后來的深度網(wǎng)絡(luò)的黃金標(biāo)準(zhǔn)(最近Liu等人( 2022 )才重新考慮的設(shè)計(jì)決策)。因此,小卷積的快速實(shí)現(xiàn)已成為 GPU 的主要內(nèi)容 Lavin 和 Gray,2016 年。

回到 VGG:一個(gè) VGG 塊由一系列卷積組成 3×3填充為 1 的內(nèi)核(保持高度和寬度)后跟一??個(gè)2×2步長(zhǎng)為 2 的最大池化層(每個(gè)塊后將高度和寬度減半)。在下面的代碼中,我們定義了一個(gè)函數(shù)vgg_block來實(shí)現(xiàn)一個(gè) VGG 塊。

下面的函數(shù)有兩個(gè)參數(shù),對(duì)應(yīng)于卷積層數(shù)num_convs和輸出通道數(shù) num_channels。

def vgg_block(num_convs, out_channels):
  layers = []
  for _ in range(num_convs):
    layers.append(nn.LazyConv2d(out_channels, kernel_size=3, padding=1))
    layers.append(nn.ReLU())
  layers.append(nn.MaxPool2d(kernel_size=2,stride=2))
  return nn.Sequential(*layers)
def vgg_block(num_convs, num_channels):
  blk = nn.Sequential()
  for _ in range(num_convs):
    blk.add(nn.Conv2D(num_channels, kernel_size=3,
             padding=1, activation='relu'))
  blk.add(nn.MaxPool2D(pool_size=2, strides=2))
  return blk
def vgg_block(num_convs, out_channels):
  layers = []
  for _ in range(num_convs):
    layers.append(nn.Conv(out_channels, kernel_size=(3, 3), padding=(1, 1)))
    layers.append(nn.relu)
  layers.append(lambda x: nn.max_pool(x, window_shape=(2, 2), strides=(2, 2)))
  return nn.Sequential(layers)
def vgg_block(num_convs, num_channels):
  blk = tf.keras.models.Sequential()
  for _ in range(num_convs):
    blk.add(
      tf.keras.layers.Conv2D(num_channels, kernel_size=3,
                  padding='same', activation='relu'))
  blk.add(tf.keras.layers.MaxPool2D(pool_size=2, strides=2))
  return blk

8.2.2. VGG網(wǎng)絡(luò)

與 AlexNet 和 LeNet 一樣,VGG 網(wǎng)絡(luò)可以分為兩部分:第一部分主要由卷積層和池化層組成,第二部分由與 AlexNet 相同的全連接層組成。關(guān)鍵區(qū)別在于卷積層在保持維數(shù)不變的非線性變換中分組,然后是分辨率降低步驟,如圖 8.2.1所示。

https://file.elecfans.com/web2/M00/A9/C7/poYBAGR9NYmAAu3EAATuF75_NS8172.svg

圖 8.2.1從 AlexNet 到 VGG。關(guān)鍵區(qū)別在于 VGG 由層塊組成,而 AlexNet 的層都是單獨(dú)設(shè)計(jì)的。

網(wǎng)絡(luò)的卷積部分連續(xù)連接 圖 8.2.1中的幾個(gè) VGG 塊(也在vgg_block函數(shù)中定義)。這種卷積分組是一種在過去十年中幾乎保持不變的模式,盡管操作的具體選擇已經(jīng)發(fā)生了相當(dāng)大的修改。該變量 conv_arch由一個(gè)元組列表(每個(gè)塊一個(gè))組成,其中每個(gè)元組包含兩個(gè)值:卷積層數(shù)和輸出通道數(shù),它們正是調(diào)用函數(shù)所需的參數(shù)vgg_block。因此,VGG 定義了一個(gè)網(wǎng)絡(luò)家族,而不僅僅是一個(gè)特定的表現(xiàn)形式。要構(gòu)建一個(gè)特定的網(wǎng)絡(luò),我們只需迭代arch以組成塊。

class VGG(d2l.Classifier):
  def __init__(self, arch, lr=0.1, num_classes=10):
    super().__init__()
    self.save_hyperparameters()
    conv_blks = []
    for (num_convs, out_channels) in arch:
      conv_blks.append(vgg_block(num_convs, out_channels))
    self.net = nn.Sequential(
      *conv_blks, nn.Flatten(),
      nn.LazyLinear(4096), nn.ReLU(), nn.Dropout(0.5),
      nn.LazyLinear(4096), nn.ReLU(), nn.Dropout(0.5),
      nn.LazyLinear(num_classes))
    self.net.apply(d2l.init_cnn)
class VGG(d2l.Classifier):
  def __init__(self, arch, lr=0.1, num_classes=10):
    super().__init__()
    self.save_hyperparameters()
    self.net = nn.Sequential()
    for (num_convs, num_channels) in arch:
      self.net.add(vgg_block(num_convs, num_channels))
    self.net.add(nn.Dense(4096, activation=
網(wǎng)絡(luò) vgg pytorch
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1耗盡型MOS FET產(chǎn)品目錄選型表
  2. 0.14 MB   |  2次下載  |  免費(fèi)
  3. 2TI系列-米爾TI AM62L核心板開發(fā)板-高能效低功耗嵌入式平臺(tái)
  4. 1.51 MB  |  次下載  |  免費(fèi)
  5. 3WILLSEMI韋爾20年半年度報(bào)告由代理分銷經(jīng)銷一級(jí)代理分銷經(jīng)銷
  6. 3.30 MB  |  次下載  |  免費(fèi)
  7. 4LRC 樂山無線電InTWSApplications家電由原廠代理分銷經(jīng)銷一級(jí)代理分銷經(jīng)銷供應(yīng)
  8. 85.84 KB  |  次下載  |  免費(fèi)
  9. 5LAT1596 一文說明白 STM32G4 雙 Bank 啟動(dòng)與升級(jí)
  10. 0.64 MB   |  次下載  |  5 積分
  11. 6LAT1594_基于事件喚醒低功耗之介紹
  12. 0.37 MB   |  次下載  |  5 積分
  13. 7PT8P2309 觸控 A/D 型 8-Bit MCU規(guī)格書
  14. 4.05 MB   |  次下載  |  免費(fèi)
  15. 8PT8P2308 觸控 A/D 型 8-Bit MCU規(guī)格書
  16. 4.13 MB   |  次下載  |  免費(fèi)

本月

  1. 1美的電磁爐電路原理圖資料
  2. 4.39 MB   |  19次下載  |  10 積分
  3. 2反激式開關(guān)電源設(shè)計(jì)解析
  4. 0.89 MB   |  11次下載  |  5 積分
  5. 3耗盡型MOS FET產(chǎn)品目錄選型表
  6. 0.14 MB   |  2次下載  |  免費(fèi)
  7. 4簡(jiǎn)易光伏控制器原理圖資料
  8. 0.07 MB   |  1次下載  |  5 積分
  9. 52EDL05x06xx系列 600V半橋門驅(qū)動(dòng)器帶集成自舉二極管(BSD)手冊(cè)
  10. 0.69 MB   |  1次下載  |  免費(fèi)
  11. 6國(guó)產(chǎn)千兆網(wǎng)口芯片PT153S中文資料
  12. 1.35 MB   |  次下載  |  免費(fèi)
  13. 7斯丹電子 | 用于芯片測(cè)試系統(tǒng)的射頻干簧繼電器
  14. 5.11 MB  |  次下載  |  免費(fèi)
  15. 8SFI立昌ESD/TVS管原廠代理分銷經(jīng)銷一級(jí)代理分銷經(jīng)銷
  16. 294.76 KB  |  次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191448次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81605次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73829次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分